[lkml]   [1998]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: ext2fs: do directories ever shrink?

    On Sun, 12 Jul 1998, Dancer wrote:

    > I remember this same thing in every unix system I've ever written
    > software on. There may be 'standard' unix filesystems out there that
    > don't partake of this behaviour...I just never recall seeing one.
    > Jakob Borg wrote:
    > >
    > > If a directory is created and filled with, say, 500 files, it will
    > > grow to 6K in size. It will retain this size when all files in it are
    > > unlinked.
    > >
    > > Does it ever shrink in size or will it retain it's 6 blocks until
    > > it's unlinked? If so, is this just another form of preallocation, in
    > > case we would that many files again in the same directory?

    I don't know much about the implementation of the ext2 fs, but on most
    unixes a directorie is just a file which is accesed useing diffrent kernel
    functions (on some unixes - e.g. HP-UX - you can do a read() on a dir).

    A general behaviour with UNIX files is that a file can never shrink! A
    file can be trucated - but it can shrink e.g. from 10 bytes to 5. Since
    a directory is just a file it can't shrink too (except the implementation
    contains additional code for it).

    But what you can do if you have a large directory with only a few files
    (let's call the dir 'foobar') is:

    " mkdir temp ; mv foobar/* temp/ ; rmdir foobar ; mv temp foobar "

    happy hacking,

    -- -- -- -- -- -- -- -- -- -- -- -- --
    Clifford Wolf
    magnet - Internet at Work IRC: efnet / clifford
    Director of System Development
    e-mail: email:

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:43    [W:0.019 / U:236.268 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site