Skip site navigation (1)Skip section navigation (2)
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>