annotate slideshow.tex @ 8:60852a38c763 washlug

more stuff
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Thu, 19 Mar 2009 16:41:53 -0400
parents 6410a0499945
children 7a09d49f78ab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
1 \documentclass{beamer}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
2
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
3 \usepackage{beamerthemeshadow}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
4
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
5 \title{XFS --- The Black Leather Jacket of filesystems}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
6 \author{Josef ``Jeff'' Sipek\\ $<$jeffpc@josefsipek.net$>$}
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
7 \date{March 19, 2009}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
8
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
9 \begin{document}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
10 \frame{\titlepage}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
11
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
12 %\AtBeginSection[]
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
13 %{
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
14 %\begin{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
15 % \frametitle{Outline}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
16 % \tableofcontents[currentsection]
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
17 %\end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
18 %}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
19
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
20 \section{History}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
21 \begin{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
22 \frametitle{History: Stoneage (1992)}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
23 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
24 \item<2-> Berkeley's FFS was state of the art
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
25 \item<3-> SGI's IRIX had EFS (FFS with extents)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
26 \item<4-> Many limitations
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
27 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
28 \item<5-> Small file sizes (2 GB)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
29 \item<6-> Small filesystem sizes (8GB)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
30 \item<7-> Statically allocated metadata
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
31 \item<8-> Long recovery times
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
32 \item<9-> Slow operations on large directories
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
33 \item<10-> No extended attributes
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
34 \item<11-> No access control lists
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
35 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
36 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
37 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
38
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
39 \begin{frame}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
40 \frametitle{History: Enlightenment (1993)}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
41 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
42 \item<2-> SGI makes XFS
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
43 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
44 \item<3-> 'X' being a variable
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
45 \item<4-> To be replaced later
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
46 \item<5-> Name stuck
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
47 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
48 \item<6-> Radically departs from traditional filesystems
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
49 \end{itemize}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
50 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
51
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
52 %
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
53 % Features
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
54 %
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
55 \section{Features}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
56 \begin{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
57 \frametitle{Features: Allocation}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
58 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
59 \item<2-> Delayed allocation
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
60 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
61 \item<3-> Allocate on flush
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
62 \item<3-> Write reserves disk space, decide where later
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
63 \end{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
64 \item<4-> Pre-allocation
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
65 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
66 \item<5-> Reserve space before it is written
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
67 \item<5-> Minimizes fragmentation
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
68 \end{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
69 \item<6-> Direct I/O support
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
70 \begin{itemize}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
71 \item<6-> Currently only Linux fs with parallel direct I/O
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
72 \end{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
73 \item<7-> Stripe aware allocator
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
74 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
75 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
76
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
77 \begin{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
78 \frametitle{Features: Inodes}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
79 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
80 \item<2-> Dynamically allocated in clusters
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
81 \item<3-> Inode size is mkfs option
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
82 \begin{itemize}
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
83 \item<3-> 256 Byte (default) -- 2 kByte (max)
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
84 \end{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
85 \item<4-> Extended Attributes
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
86 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
87 \item<5-> $<$name, value$>$ pairs
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
88 \item<6-> Used by ACLs, Capabilities, SELinux, DMAPI
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
89 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
90 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
91 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
92
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
93 \begin{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
94 \frametitle{Features: Other}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
95 \begin{itemize}
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
96 \item<2-> B+Trees
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
97 \item<3-> 64-bit
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
98 \item<4-> Variable block size (512 Bytes -- 64 kB)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
99 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
100 \item 512 Bytes -- \texttt{\textbf{PAGE\_SIZE}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
101 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
102 \item<5-> Allocation Groups
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
103 \item<6-> Lots of utilities
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
104 \item<7-> Direct I/O
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
105 \item<8-> DMAPI
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
106 \item<9-> Extended Attributes/ACL
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
107 \item<10-> Online fs growth
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
108 \item<11-> Very fast repair time
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
109 \item<12-> Amazingly fast
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
110 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
111 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
112
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
113 \begin{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
114 \frametitle{Why not use ext2?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
115 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
116 \item<2-> Does not keep a journal
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
117 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
118 \item<3-> fsck mandatory to recover after a crash
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
119 \item<4-> fsck is dog slow
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
120 \end{itemize}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
121 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
122 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
123
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
124 \begin{frame}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
125 \frametitle{Why not use ext3?}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
126 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
127 \item<2-> 16TB filesystem limit
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
128 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
129 \item<3-> Used to be 8TB until about 2 years ago
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
130 \end{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
131 \item<4-> fsck is dog slow, although not as frequently
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
132 needed as with ext2
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
133 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
134 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
135
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
136 \begin{frame}[fragile]
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
137 \frametitle{Why not use ext4?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
138 \begin{itemize}
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
139 \item<2-> Not considered mature/stable
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
140 \item<3-> \emph{Many} cases still not properly handled
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
141 \item<4-> fsck is dog slow, although not as frequently
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
142 needed as with ext2
8
60852a38c763 more stuff
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 7
diff changeset
143 \item<5-> User-space still limited to 16TB
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
144 \end{itemize}
8
60852a38c763 more stuff
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 7
diff changeset
145 \uncover<6->{\begin{exampleblock}{}
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
146 This is the next generation of the ext3 filesystem.\\
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
147 ...\\
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
148 If unsure, say N.
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
149 \end{exampleblock}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
150 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
151
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
152 \begin{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
153 \frametitle{Why not use Reiserfs?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
154 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
155 \item<2-> Not very actively maintained
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
156 \item<3-> ``Forgotten''
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
157 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
158 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
159
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
160 \begin{frame}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
161 \frametitle{Why not use JFS?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
162 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
163 \item<2-> Doesn't perform as well as it should
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
164 \item<3-> Not as actively maintained as developed
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
165 \item<4-> The maintainer contributes the odd fix
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
166 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
167 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
168
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
169 \begin{frame}
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
170 \frametitle{Why not use btrfs?}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
171 \begin{itemize}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
172 \item<2-> Not stable/mature
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
173 \end{itemize}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
174 \end{frame}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
175
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
176 \begin{frame}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
177 \frametitle{Why \textit{use} XFS?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
178 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
179 \item<2-> Stable, mature codebase
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
180 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
181 \item<3-> Oldest journaling filesystem on Linux
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
182 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
183 \item<4-> Very well performing
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
184 \item<5-> Very fast repair time (for the times you need it)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
185 \item<6-> DMAPI support (for HSM)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
186 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
187 %% That all sounds great, but is using XFS really worth it? Well, let me show
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
188 %% you an example... Once upon a time, there was a system admin.
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
189 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
190
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
191 \begin{frame}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
192 \frametitle{Why \emph{not} use it?}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
193 \begin{itemize}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
194 \item<2-> No data journaling
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
195 \item<3-> Got time to waste waiting for fsck to finish running
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
196 \item<4-> Don't like leather jackets
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
197 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
198 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
199
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
200 %
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
201 % Demos
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
202 %
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
203 \newcommand{\demo}[1]{\begin{frame}\frametitle{#1}\begin{center}Demo\end{center}\end{frame}}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
204
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
205 \section{Demos}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
206 \demo{\texttt{\textbf{mkfs}} \& \texttt{\textbf{mount}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
207 \demo{\texttt{\textbf{xfs\_check}} \& \texttt{\textbf{xfs\_repair}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
208 \demo{\texttt{\textbf{xfs\_growfs}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
209 \demo{\texttt{\textbf{xfsdump}} \& \texttt{\textbf{xfsrestore}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
210 \demo{\texttt{\textbf{xfs\_bmap}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
211 \demo{\texttt{\textbf{xfs\_io}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
212 \demo{\texttt{\textbf{xfs\_quota}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
213 \demo{\texttt{\textbf{xfs\_admin}}}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
214 \demo{\texttt{\textbf{xfs\_freeze}}}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
215
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
216 %
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
217 % Wrap-up
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
218 %
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
219 \section{}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
220 \begin{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
221 \frametitle{Questions?}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
222 \begin{center}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
223 \includegraphics[width=\textwidth]{xfs.eps}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
224 \end{center}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
225 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
226
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
227 \begin{frame}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
228 \frametitle{More info/Resources/Thanks}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
229 \begin{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
230 \item \url{http://oss.sgi.com/projects/xfs/}
8
60852a38c763 more stuff
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 7
diff changeset
231 \item \url{http://www.xfs.org}
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
232 \item \url{xfs@oss.sgi.com}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
233 \item \url{http://oss.sgi.com/projects/xfs/papers/ukuug2003.pdf}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
234 \item \url{http://en.wikipedia.org/wiki/Comparison_of_file_systems}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
235 \item Martin K. Petersen for the apt description of XFS
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
236 \end{itemize}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
237 \end{frame}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
238
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
239 %
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
240 % Extra slides
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
241 %
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
242 \section{Extra stuff}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
243 \begin{frame}
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
244 \frametitle{ext4 faults}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
245 \begin{itemize}
8
60852a38c763 more stuff
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 7
diff changeset
246 \item Where do I even \emph{begin}?!
60852a38c763 more stuff
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 7
diff changeset
247 \item<2-> Does not compact extents
60852a38c763 more stuff
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 7
diff changeset
248 \item<3-> ...
7
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
249 \end{itemize}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
250 \end{frame}
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
251
6410a0499945 updates for today's talk
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents: 3
diff changeset
252 \begin{frame}
3
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
253 \frametitle{What are extents?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
254 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
255 \item<1-> Suppose you need to keep track of what blocks belong
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
256 to a file
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
257 \item<2-> Naturally: $<$offset, block nr$>$
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
258 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
259 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
260 \begin{frame} % should be continuation of previous frame
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
261 \frametitle{What are extents?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
262 (FIXME: graphic showing a file with blocks pointing to blocks on disk)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
263 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
264 \begin{frame} % should be continuation of previous frame
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
265 \frametitle{What are extents?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
266 \begin{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
267 % continue list from before
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
268 \item<1-> All works well...
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
269 \item<2-> ...unless you have millions of blocks (1 million 4K
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
270 blocks is 4GB)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
271 \item<3-> Extents express a range of blocks instead of a single
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
272 block
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
273 \item<4-> Rely on the fact that many times, blocks are
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
274 contiguously used within a file
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
275 \item<5-> For example: $<$offset, nr blocks, block nr$>$
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
276 \end{itemize}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
277 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
278 \begin{frame} % should be continuation of previous frame
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
279 \frametitle{What are extents?}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
280 (FIXME: graphic showing a file with an extent instead of many
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
281 pointers)
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
282 \end{frame}
d4de13a2546e finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 0
diff changeset
283
0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
284 \end{document}