Mercurial > lilug > xfs
comparison slideshow.tex @ 0:4cff88ac3e44
import
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Sat, 12 Apr 2008 20:32:36 -0400 |
parents | |
children | d4de13a2546e |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4cff88ac3e44 |
---|---|
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 \date{July 8, 2008} | |
8 | |
9 \begin{document} | |
10 \frame{\titlepage} | |
11 | |
12 \AtBeginSection[] | |
13 { | |
14 \begin{frame} | |
15 \frametitle{Outline} | |
16 \tableofcontents[currentsection] | |
17 \end{frame} | |
18 } | |
19 | |
20 \section{History} | |
21 \begin{frame} | |
22 \frametitle{History: Stoneage (1992)} | |
23 \begin{itemize} | |
24 \item Berkeley's FFS was state of the art | |
25 \item IRIX had EFS (FFS with extents) | |
26 \item Many limitations | |
27 \begin{itemize} | |
28 \item Small file sizes (2 GB) | |
29 \item Small filesystem sizes (8GB) | |
30 \item Statically allocated metadata | |
31 \item Long recovery times | |
32 \item Slow operations on large directories | |
33 \item No extended attributes | |
34 \item No access control lists | |
35 \end{itemize} | |
36 \end{itemize} | |
37 \end{frame} | |
38 | |
39 \begin{frame} | |
40 \frametitle{History: Enlightment (1993)} | |
41 \begin{center} | |
42 \includegraphics[width=0.8\textwidth]{sgi.eps} | |
43 \end{center} | |
44 \end{frame} | |
45 | |
46 % | |
47 % Features | |
48 % | |
49 \section{Features} | |
50 \begin{frame} | |
51 \frametitle{Features: Allocation} | |
52 \begin{itemize} | |
53 \item Delayed allocation | |
54 \begin{itemize} | |
55 \item Allocate on flush | |
56 \item Write reserves disk space, decide where later | |
57 \end{itemize} | |
58 \item Pre-allocation | |
59 \begin{itemize} | |
60 \item Reserve space before it is written | |
61 \item Minimizes fragmentation | |
62 \end{itemize} | |
63 \item Direct I/O support | |
64 \item Stripe aware allocator | |
65 \end{itemize} | |
66 \end{frame} | |
67 | |
68 \begin{frame} | |
69 \frametitle{Features: Inodes} | |
70 \begin{itemize} | |
71 \item Dynamically allocated in clusters | |
72 \item Inode size is mkfs option | |
73 \begin{itemize} | |
74 \item 256 Byte (default) -- 4 kByte (max) | |
75 \end{itemize} | |
76 \item Extended Attributes | |
77 \begin{itemize} | |
78 \item name=value pairs | |
79 \item Used by ACLs, Capabilities, SELinux, DMAPI | |
80 \end{itemize} | |
81 \end{itemize} | |
82 \end{frame} | |
83 | |
84 \begin{frame} | |
85 \frametitle{Features: Other} | |
86 \begin{itemize} | |
87 \item B+ Trees | |
88 \item 64-bit | |
89 \item Variable block size (512 Bytes -- 64 kB) | |
90 \item Allocation Groups | |
91 \item Lots of utilities | |
92 \item Direct I/O | |
93 \item DMAPI | |
94 \item EA/ACL | |
95 \item online fs growth | |
96 \item amazingly fast | |
97 \end{itemize} | |
98 \end{frame} | |
99 | |
100 \begin{frame} | |
101 \frametitle{Why use it?} | |
102 \begin{itemize} | |
103 \item Stable, mature codebase | |
104 \begin{itemize} | |
105 \item oldest journaling filesystem on Linux | |
106 \end{itemize} | |
107 \item Very well performing | |
108 \item DMAPI support | |
109 \item Good support for EAs / ACLs | |
110 \end{itemize} | |
111 \end{frame} | |
112 | |
113 \begin{frame} | |
114 \frametitle{Why \emph{not} use it?} | |
115 \begin{itemize} | |
116 \item No data journaling | |
117 \item Got time to waste | |
118 \end{itemize} | |
119 \end{frame} | |
120 | |
121 % | |
122 % Demos | |
123 % | |
124 \section{Demos} | |
125 \begin{frame} | |
126 \frametitle{\texttt{\textbf{xfsdump}}} | |
127 xfsdump ... | |
128 \end{frame} | |
129 | |
130 \begin{frame} | |
131 \frametitle{\texttt{\textbf{xfsrestore}}} | |
132 xfsrestore ... | |
133 \end{frame} | |
134 | |
135 \begin{frame} | |
136 \frametitle{\texttt{\textbf{mkfs/mount}}} | |
137 mkfs/mount | |
138 \end{frame} | |
139 | |
140 \begin{frame} | |
141 \frametitle{\texttt{\textbf{xfs\_growfs}}} | |
142 xfs\_growfs ... | |
143 \end{frame} | |
144 | |
145 \begin{frame} | |
146 \frametitle{\texttt{\textbf{xfs\_freeze}}} | |
147 freeze / unfreeze | |
148 \end{frame} | |
149 | |
150 \begin{frame} | |
151 \frametitle{\texttt{\textbf{xfs\_check}} \& \texttt{\textbf{xfs\_repair}}} | |
152 check / repair | |
153 \end{frame} | |
154 | |
155 \begin{frame} | |
156 \frametitle{\texttt{\textbf{xfs\_io}}} | |
157 xfs\_io ... | |
158 \end{frame} | |
159 | |
160 \begin{frame} | |
161 \frametitle{\texttt{\textbf{xfs\_quota}}} | |
162 xfs\_quota ... | |
163 \end{frame} | |
164 | |
165 \begin{frame} | |
166 \frametitle{\texttt{\textbf{xfs\_admin}}} | |
167 xfs\_admin ... | |
168 \end{frame} | |
169 | |
170 \begin{frame} | |
171 \frametitle{\texttt{\textbf{xfs\_bmap}}} | |
172 xfs\_bmap ... | |
173 \end{frame} | |
174 % | |
175 % Wrap-up | |
176 % | |
177 \section{} | |
178 \begin{frame} | |
179 \frametitle{Questions?} | |
180 \begin{center} | |
181 \includegraphics[width=\textwidth]{xfs.eps} | |
182 \end{center} | |
183 \end{frame} | |
184 | |
185 \begin{frame} | |
186 \frametitle{More info} | |
187 \begin{itemize} | |
188 \item \url{http://oss.sgi.com/projects/xfs/} | |
189 \item \url{xfs@oss.sgi.com} | |
190 \item \url{http://oss.sgi.com/projects/xfs/papers/ukuug2003.pdf} | |
191 \end{itemize} | |
192 \end{frame} | |
193 | |
194 \end{document} |