Re: ext2 warning in Linux 2.2.7

H.J. Lu (hjl@lucon.org)
Wed, 5 May 1999 06:46:44 -0700 (PDT)


> >
> > The NFS protocal may be broken. But Linux has to work with as many
> > NFS client implementations as possible. That means there should be
> > no dentry, or anything like pointers to memory or filenames, in
> > filehandle. filehandle shouldn't change because of reboot, rename
> > nor hardlink. If we cannot get them all, at least we should try.
> > Otherwise, we just call it LNFS and tell everyone it is not
> > interoperatable with most NFS client implementations.
>
> That's fine, but there is one huge but. First of all, with many
> filesystems you simply *don't have* an invariant that would be preserved
> across umount;mount, let along reboot and would fit into 64 bits.
> For FAT-derived filesystems you don't have an invariant that would survive
> _both_ remount and rename. There is nothing to do about that and no OS can
> help here. Period.
>
> What I am talking about is that we have different requirements for i_ino
> lifetime and fhandle one. The method currently used by knfsd more or less
> works with ext2 and other UNIX filesystems. For the rest it simply breaks.
>
> I think that we should put the fhandle<->VFS object translation into
> individual filesystems. For normal filesystems it would mean moving the
> current knfsd code into VFS, exporting it and letting new methods call it.
> Other filesystems may implement more appropriate versions themselves.
>
> Do you have any objections against that? Notice that current code simply
> doesn't work for non-UNIX filesystems (and maybe HPFS & NTFS).
>
>

That is something I have been looking for for a long time as long as
filehandle won't change because of reboot, rename nor hardlink. I
know my knfsd is not the perfect solution. But it is better than the
broken one in 2.2.x if you have none-Linux clients. Thanks to knfsd,
the Linux NFS server did not do too bad at Connectathon 99.

-- 
H.J. Lu (hjl@gnu.org)

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