changeset 0:4cff88ac3e44

import
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Sat, 12 Apr 2008 20:32:36 -0400
parents
children 01937ffaad05
files Makefile sgi.svg slideshow.tex xfs.svg
diffstat 4 files changed, 362 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Sat Apr 12 20:32:36 2008 -0400
@@ -0,0 +1,22 @@
+DIAGS=xfs.eps sgi.eps
+IMGS=
+
+all: slideshow.pdf
+
+slideshow.pdf: slideshow.tex $(IMGS) $(DIAGS)
+	latex slideshow.tex
+	dvips -Ppdf -G0 slideshow.dvi -o slideshow.ps
+	ps2pdf -dPDFsettings=/prepress slideshow.ps slideshow.pdf
+	#dvipdf slideshow.dvi
+	#dvipdf -g2700x3450 -r300 slideshow.dvi
+	
+diagrams: $(DIAGS)
+
+%.eps: %.svg
+	inkscape -z -T -E $@ $<
+
+%.ps: %.dot
+	dot -Tps $< -o $@
+
+clean:
+	rm -f *~ *.pdf $(DIAGS) *.dvi *.log *.out *.aux *.nav *.snm *.toc *.vrb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sgi.svg	Sat Apr 12 20:32:36 2008 -0400
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="387.41"
+   height="318"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.45.1"
+   version="1.0"
+   sodipodi:docbase="/home/jeffpc/lilug/xfs"
+   sodipodi:docname="sgi.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="273.61626"
+     inkscape:cy="116.93118"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="387.41px"
+     height="318px"
+     inkscape:window-width="1074"
+     inkscape:window-height="838"
+     inkscape:window-x="0"
+     inkscape:window-y="106" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="display:inline">
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot2160"
+       style="fill:#44009f;fill-opacity:0.94117647;font-family:NDDEHD +SGI-Bold"
+       transform="translate(-45.714285,-442.85715)"><flowRegion
+         id="flowRegion2162"><rect
+           id="rect2164"
+           width="614.28571"
+           height="451.42856"
+           x="42.857143"
+           y="332.36218"
+           style="fill:#44009f;fill-opacity:0.94117647;font-family:NDDEHD +SGI-Bold" /></flowRegion><flowPara
+         style="font-size:350px;fill:#44009f;fill-opacity:0.94117647"
+         id="flowPara2168">sgi</flowPara></flowRoot>  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/slideshow.tex	Sat Apr 12 20:32:36 2008 -0400
@@ -0,0 +1,194 @@
+\documentclass{beamer}
+
+\usepackage{beamerthemeshadow}
+
+\title{XFS --- The Black Leather Jacket of filesystems}
+\author{Josef ``Jeff'' Sipek\\ $<$jeffpc@josefsipek.net$>$}
+\date{July 8, 2008}
+
+\begin{document}
+\frame{\titlepage}
+
+\AtBeginSection[]
+{
+\begin{frame}
+	\frametitle{Outline}
+	\tableofcontents[currentsection]
+\end{frame}
+}
+
+\section{History}
+\begin{frame}
+	\frametitle{History: Stoneage (1992)}
+	\begin{itemize}
+		\item Berkeley's FFS was state of the art
+		\item IRIX had EFS (FFS with extents)
+		\item Many limitations
+		\begin{itemize}
+			\item Small file sizes (2 GB)
+			\item Small filesystem sizes (8GB)
+			\item Statically allocated metadata
+			\item Long recovery times
+			\item Slow operations on large directories
+			\item No extended attributes
+			\item No access control lists
+		\end{itemize}
+	\end{itemize}
+\end{frame}
+
+\begin{frame}
+	\frametitle{History: Enlightment (1993)}
+	\begin{center}
+	\includegraphics[width=0.8\textwidth]{sgi.eps}
+	\end{center}
+\end{frame}
+
+%
+% Features
+%
+\section{Features}
+\begin{frame}
+	\frametitle{Features: Allocation}
+	\begin{itemize}
+		\item Delayed allocation
+		\begin{itemize}
+			\item Allocate on flush
+			\item Write reserves disk space, decide where later
+		\end{itemize}
+		\item Pre-allocation
+		\begin{itemize}
+			\item Reserve space before it is written
+			\item Minimizes fragmentation
+		\end{itemize}
+		\item Direct I/O support
+		\item Stripe aware allocator
+	\end{itemize}
+\end{frame}
+
+\begin{frame}
+	\frametitle{Features: Inodes}
+	\begin{itemize}
+		\item Dynamically allocated in clusters
+		\item Inode size is mkfs option
+		\begin{itemize}
+			\item 256 Byte (default) -- 4 kByte (max)
+		\end{itemize}
+		\item Extended Attributes
+		\begin{itemize}
+			\item name=value pairs
+			\item Used by ACLs, Capabilities, SELinux, DMAPI
+		\end{itemize}
+	\end{itemize}
+\end{frame}
+
+\begin{frame}
+	\frametitle{Features: Other}
+	\begin{itemize}
+		\item B+ Trees
+		\item 64-bit
+		\item Variable block size (512 Bytes -- 64 kB)
+		\item Allocation Groups
+		\item Lots of utilities
+		\item Direct I/O
+		\item DMAPI
+		\item EA/ACL
+		\item online fs growth
+		\item amazingly fast
+	\end{itemize}
+\end{frame}
+
+\begin{frame}
+	\frametitle{Why use it?}
+	\begin{itemize}
+		\item Stable, mature codebase
+		\begin{itemize}
+			\item oldest journaling filesystem on Linux
+		\end{itemize}
+		\item Very well performing
+		\item DMAPI support
+		\item Good support for EAs / ACLs
+	\end{itemize}
+\end{frame}
+
+\begin{frame}
+	\frametitle{Why \emph{not} use it?}
+	\begin{itemize}
+		\item No data journaling
+		\item Got time to waste
+	\end{itemize}
+\end{frame}
+
+%
+% Demos
+%
+\section{Demos}
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfsdump}}}
+	xfsdump ...
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfsrestore}}}
+	xfsrestore ...
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{mkfs/mount}}}
+	mkfs/mount
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfs\_growfs}}}
+	xfs\_growfs ...
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfs\_freeze}}}
+	freeze / unfreeze
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfs\_check}} \& \texttt{\textbf{xfs\_repair}}}
+	check / repair
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfs\_io}}}
+	xfs\_io ...
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfs\_quota}}}
+	xfs\_quota ...
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfs\_admin}}}
+	xfs\_admin ...
+\end{frame}
+
+\begin{frame}
+	\frametitle{\texttt{\textbf{xfs\_bmap}}}
+	xfs\_bmap ...
+\end{frame}
+%
+% Wrap-up
+%
+\section{}
+\begin{frame}
+	\frametitle{Questions?}
+	\begin{center}
+	\includegraphics[width=\textwidth]{xfs.eps}
+	\end{center}
+\end{frame}
+
+\begin{frame}
+	\frametitle{More info}
+	\begin{itemize}
+		\item \url{http://oss.sgi.com/projects/xfs/}
+		\item \url{xfs@oss.sgi.com}
+		\item \url{http://oss.sgi.com/projects/xfs/papers/ukuug2003.pdf}
+	\end{itemize}
+\end{frame}
+
+\end{document}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xfs.svg	Sat Apr 12 20:32:36 2008 -0400
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="524.40942"
+   height="300"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.45.1"
+   version="1.0"
+   sodipodi:docbase="/home/jeffpc/lilug/xfs"
+   sodipodi:docname="xfs.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="273.61626"
+     inkscape:cy="116.48382"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="524.40945px"
+     height="300px"
+     inkscape:window-width="1074"
+     inkscape:window-height="838"
+     inkscape:window-x="0"
+     inkscape:window-y="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="display:inline">
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot2160"
+       style="fill:#44009f;font-family:NDDEHD +SGI-Bold;fill-opacity:0.94117647"
+       transform="translate(-34.285714,-414.28572)"><flowRegion
+         id="flowRegion2162"><rect
+           id="rect2164"
+           width="614.28571"
+           height="451.42856"
+           x="42.857143"
+           y="332.36218"
+           style="fill:#44009f;font-family:NDDEHD +SGI-Bold;fill-opacity:0.94117647" /></flowRegion><flowPara
+         style="font-size:350px;fill:#44009f;fill-opacity:0.94117647"
+         id="flowPara2168">XFS</flowPara></flowRoot>  </g>
+</svg>