Re: dirhash hint?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tim wrote:
> Now I'm wondering if dirhash means adding some sort of checksum to a
> filing system.

No.  It's really not as mysterious as this thread makes it sound.

The ext3 and ext4 filesystems have a flag called "dir_index".  You can
enable it using tune2fs for quite some time.  It's a feature that was
introduced after ext3 was first released and because of this (and the
fact that new features have to be tested first) it is not enabled by
default by older releases.

Times apparently changed.  The "Adding dirhash hint to *" message comes
from e2fsck, the file system integrity checker for these types for
filesystem.  It found the feature is not enabled and now that it is
stable enough it makes sense to enable it unconditionally.  So it did
and warned the user about it.

This feature, just as the tune2fs man page says, speeds up searching in
large directories.  With the traditional mechanism finding a file in a
large directory is a linear process: files entries are looked at one by
one until the right one is found.  With dir_index enabled a hash table
is used which allows to find each file in a constant time, potentially
significantly speeding up the file lookup.

So, nothing devious is going on.  It's just that the maintainers of the
tools know that most people do not know about the new features and/or
will not enable new features on their own for fear.  This is why e2fsck
does it by itself for safe options.

- --
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFG0atc2ijCOnn/RHQRAg5VAKC5l9w6oKoOFzjHj/jHnAOpVkXPEACeJnhv
SIpsf9xBSdfESUv8ijwigNk=
=+zqo
-----END PGP SIGNATURE-----


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux