BibTeX for papers by David Kotz; for complete/updated list see https://www.cs.dartmouth.edu/~kotz/research/papers.html @TechReport{vengroff:holesome-tr, author = {Darren Erik Vengroff and David Kotz}, title = {{A Holesome File System}}, institution = {Dartmouth Computer Science}, year = 2004, month = {May}, number = {TR2004-497}, copyright = {the authors}, URL = {https://www.cs.dartmouth.edu/~kotz/research/vengroff-holesome-tr/index.html}, note = {Originally written in July 1995; released May 2004.}, abstract = {We present a novel approach to fully dynamic management of physical disk blocks in Unix file systems. By adding a single system call, \emph{zero()}, to an existing file system, we permit applications to create \emph{holes}, that is, regions of files to which no physical disk blocks are allocated, far more flexibly than previously possible. \emph{zero} can create holes in the middle of existing files. \par Using \emph{zero()}, it is possible to efficiently implement applications including a variety of databases and I/O-efficient computation systems on top of the Unix file system. \emph{zero()} can also be used to implement an efficient file-system-based paging mechanism. In some I/O-efficient computations, the availability of \emph{zero()} effectively doubles disk capacity by allowing blocks of temporary files to be reallocated to new files as they are read. \par Experiments on a Linux \emph{ext2} file system augmented by \emph{zero()} demonstrate that where their functionality overlaps, \emph{zero()} is more efficient than \emph{ftruncate()}. Additional experiments reveal that in exchange for added effective disk capacity, I/O-efficient code pays only a small performance penalty.}, }