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