data blocks question

David Schultz das at FreeBSD.ORG
Wed Sep 29 13:42:40 PDT 2004


On Wed, Sep 29, 2004, Nehal wrote:
> on my ufs2 partition, there is a file that has a size of 65536,
> and has 2 direct blocks only. the block size of the fs is 16k and
> fragment block size is 2k.
> 
> how can this be possible? wouldn't 2 direct blocks mean that the
> maximum size is 2x16k = 32k? or am i not understanding something
> correctly?
> 
> i've made a copy of the file, and the new file has 4 direct
> blocks.
> 
> it is a binary file, and i can read it fine (ie, cat it). i've
> done fsck on the filesystem and it found no problem.

Yes, UFS supports sparse files.  That is, you can have a file with
parts you haven't written to, and the blocks for those parts won't
be allocated.  The cp utility doesn't know about this, though, so
copies will have the ``holes'' filled with zeroes.


More information about the freebsd-fs mailing list