Re: Ext2 directory index, updated

Andreas Dilger (adilger@turbolabs.com)
Mon, 5 Nov 2001 15:10:07 -0700


On Nov 05, 2001 00:01 +0100, Daniel Phillips wrote:
> For using the -o index option on a non-throwaway volume, we should do this:
>
> void ext2_add_compat_feature (struct super_block *sb, unsigned feature)
> {
> + return;
> if (!EXT2_HAS_COMPAT_FEATURE(sb, feature))
> {
>
> And afterwards you can rm -rf your test directory, though actually normal
> ext2 shouldn't see anything unusual about it. The real reason for rm'ing the
> test directory is so that I can tweak the index format in upcoming prerelease
> versions.

Well, e2fsck _should_ really know about the fact that there are indexed
directories in the filesystem, which is what the COMPAT flag flag is for.
The only current issue is that e2fsck doesn't understand this compat flag.

> I've disabled the add_compat_feature here for now, because until fsck can
> handle it, it just causes trouble. I'll go read Andreas' writeup on the
> COMPAT flags again and see if I can come up with a more friendly
> interpretation.

No, COMPAT is the friendliest. It means old kernels can read/write this
filesystem without problems, just that e2fsck can't/won't check it. Even
though an old fsck _probably_ won't break such a filesystem, there is no
guarantee of that, and it definitely won't validate the indexes, so a
"successfull" fsck of an indexed directory doesn't mean anything until it
can understand this COMPAT flag.

That said, I agree that turning the COMPAT flag off for short term testing
is probably not fatal, but I thought we were not going to even suggest
using non-throwaway filesystems until the hash function was finalized? In
the end, if an updated e2fsck detects the DIR_INDEX flag (and valid indexes
therein) it will turn on the COMPAT flag for us, so all will be well. I
don't advise that we push for patch inclusion until e2fsck is done, however.

Cheers, Andreas

--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/