Mercurial > lilug > xfs
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 |
rev | line source |
---|---|
0 | 1 \documentclass{beamer} |
2 | |
3 \usepackage{beamerthemeshadow} | |
4 | |
5 \title{XFS --- The Black Leather Jacket of filesystems} | |
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 | 8 |
9 \begin{document} | |
10 \frame{\titlepage} | |
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 | 19 |
20 \section{History} | |
21 \begin{frame} | |
22 \frametitle{History: Stoneage (1992)} | |
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 | 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 | 35 \end{itemize} |
36 \end{itemize} | |
37 \end{frame} | |
38 | |
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 | 50 \end{frame} |
51 | |
52 % | |
53 % Features | |
54 % | |
55 \section{Features} | |
56 \begin{frame} | |
57 \frametitle{Features: Allocation} | |
58 \begin{itemize} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
59 \item<2-> Delayed allocation |
0 | 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 | 63 \end{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
64 \item<4-> Pre-allocation |
0 | 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 | 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 | 74 \end{itemize} |
75 \end{frame} | |
76 | |
77 \begin{frame} | |
78 \frametitle{Features: Inodes} | |
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 | 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 | 84 \end{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
85 \item<4-> Extended Attributes |
0 | 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 | 89 \end{itemize} |
90 \end{itemize} | |
91 \end{frame} | |
92 | |
93 \begin{frame} | |
94 \frametitle{Features: Other} | |
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 | 121 \end{itemize} |
122 \end{frame} | |
123 | |
124 \begin{frame} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
125 \frametitle{Why not use ext3?} |
0 | 126 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
127 \item<2-> 16TB filesystem limit |
0 | 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 | 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 | 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 | 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 | 157 \end{itemize} |
158 \end{frame} | |
159 | |
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 | 192 \frametitle{Why \emph{not} use it?} |
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 | 197 \end{itemize} |
198 \end{frame} | |
199 | |
200 % | |
201 % Demos | |
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 | 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 | 215 |
216 % | |
217 % Wrap-up | |
218 % | |
219 \section{} | |
220 \begin{frame} | |
221 \frametitle{Questions?} | |
222 \begin{center} | |
223 \includegraphics[width=\textwidth]{xfs.eps} | |
224 \end{center} | |
225 \end{frame} | |
226 | |
227 \begin{frame} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
228 \frametitle{More info/Resources/Thanks} |
0 | 229 \begin{itemize} |
230 \item \url{http://oss.sgi.com/projects/xfs/} | |
8 | 231 \item \url{http://www.xfs.org} |
0 | 232 \item \url{xfs@oss.sgi.com} |
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 | 236 \end{itemize} |
237 \end{frame} | |
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 | 246 \item Where do I even \emph{begin}?! |
247 \item<2-> Does not compact extents | |
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 | 284 \end{document} |