Date: Sat, 29 May 1999 13:19:36 +0100 (BST) From: Duncan Barclay <dmlb@ragnet.demon.co.uk> To: Zhihui Zhang <zzhang@cs.binghamton.edu> Cc: freebsd-hackers@FreeBSD.ORG, Christopher R.Bowman <crb@ChrisBowman.com> Subject: Re: Algorithm used to delete part of a file Message-ID: <XFMail.990529131936.dmlb@computer.my.domain> In-Reply-To: <Pine.GSO.3.96.990528202945.11744A-100000@sol.cs.binghamton.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On 29-May-99 Zhihui Zhang wrote: > > Thanks for your valuable information. This explains why I have not found > any routines in the files under /ufs/ffs and /ufs/ufs that re-organize the > on-disk image of a file in that way. If a middle part of a file is > deleted, then all the remaining part of the file must be read by an editor > (such as vi) and written out to another place before the file length is > truncated. This algorithm seems to be not very efficient. But disk is not > like memory, where we can simply modify pointers to point to new locations > easily, I guess there may be no better way to do this. If you have any > ideas about why this is not done by the filesystem itself, please let me > know. Primarily the file system is a "block" orientated storage media where a "block" is the fragment size or a file system block. Addressing in the filesystem is done on a block by block basis. As each block is a number of bytes we cannot use byte addressing to simply move pointers around. If you find the papers written by Rob Pike on the editor "Sam" undr Plan-9 he goes into a lot of detail about algorithms for removing/adding bytes into a storage area with block addressing. Duncan -- ________________________________________________________________________ Duncan Barclay | God smiles upon the little children, dmlb@ragnet.demon.co.uk | the alcoholics, and the permanently stoned. ________________________________________________________________________ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.990529131936.dmlb>