Mercurial > lilug > xfs
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>