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, d...@ragnet.demon.co.uk | the alcoholics, and the permanently stoned. ________________________________________________________________________ To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-hackers" in the body of the message