RE: Why ext3 uses different policies to allocate inodes for dirs and files?

From: Joseph D. Wagner
Date: Tue Mar 07 2006 - 10:31:59 EST


> I'm not sure what it is you are saying. Directories may be renamed, but
> the inodes are never moved.

That is what I meant to say. I should have been clearer between when I said "directories" and "dir inodes". When I said "directories" I was referring to the names. By "directories are moved" I was referring to how you can rename a directory in such a way as to change its name within the hierarchy. For example:

mv -R /usr/local/lib/i386-redhat-linux/ /usr/lib/

Assuming that the source and destination are the same partition, this "move" operation is actually a simple "rename". The "dir inode" listing of "i386-redhat-linux" is removed from the "/usr/local/lib/" directory list and added to the "/usr/lib/" directory list.

If the "dir inode" were to be moved closer to the "parent dir inode", this would become quite an expensive "move" operation, as it would have to move all of the "dir inodes" of the "i386-redhat-linux" directory and all subdirectories away from the "parent dir inode" of "/usr/local/lib/" and closer to the "parent dir inode" of "/usr/lib/".

Like I said, this is just one of several reasons why "dir inodes" are spread out more uniformly throughout the partition, rather than kept close to their "parent dir inode".

Sorry I wasn't clearer.

Joseph D. Wagner
-
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/