Re: ext3/ext4 directories don't shrink after deleting lots of files
From: Timo Sirainen
Date: Thu May 14 2009 - 20:45:52 EST
On May 14, 2009, at 8:32 PM, Josef Bacik wrote:
On Thu, May 14, 2009 at 6:02 PM, Timo Sirainen <tss@xxxxxx> wrote:
I've noticed that if you create e.g. 100k files to a directory and
then
delete the files, the directory entry still seems to take a couple of
megabytes. Later whenever accessing the (almost empty) directory it
can
take a few seconds to load it into cache.
Is there a way to shrink the directory somehow without having to
rmdir()
it? Would be nice if kernel did it automatically, but I could live
with
a manual userspace syscall/tool as well.
fsck -D <device>, when its unmounted of course.
I was rather thinking something that I could run while the system was
fully operational. Otherwise just moving the files to a temp directory
+ rmdir() + rename() would have been fine too.
I just tested that xfs, jfs and reiserfs all shrink the directories
immediately. Is it more difficult to implement for ext* or has no one
else found this to be a problem?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/