Re: [PATCH] vfat+affs case preservation

From: Jan Kratochvil (rcpt-linux-kernel.AT.vger.kernel.org@jankratochvil.net)
Date: Wed Jul 02 2003 - 05:53:28 EST


Hi,

On Wed, 02 Jul 2003 12:34:57 +0200, viro@parcelfarce.linux.theplanet.co.uk wrote:
> On Wed, Jul 02, 2003 at 12:25:38PM +0200, Jan Kratochvil wrote:
...
> > http://www.jankratochvil.net/priv/vfat/linux-2.4.22-pre2-vfat6.diff
> > http://www.jankratochvil.net/priv/vfat/linux-2.5.73-bk9-vfat6.diff
...
> > +/* We have to always do the revalidate as after unlink (etc.) there still may
> > + * exist other case-different dentries for the same inode. It would be also
> > + * possible to discard such aliases by going through d_alias links during the
> > + * unlink. "strictcase" does not have case-different dentries but "longna~1"
> > + * style aliases still exist there.
> > + */
>
> > - alias = d_find_alias(inode);
...
> Broken. With that we can get two active dentries for the same directory.
> There goes any cache coherency, with all usual results.

Right, this patch will introduce virtual directory hardlinks - multiple dentries
to one directory inode. But it also makes dentry validation mandatory for such
filesystems to fix it. I was not able to prevent such hardlinking as there must
already exist two valid dentries named "dir" and "DIR" to call rename("dir").
Patch successfuly being used over 1.5 year on server to vindicate it a bit. :-)

Regards,
Lace
-
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/



This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:15 EST