Trond Myklebust wrote:
On Thu, 2006-08-31 at 10:54 -0400, Shaya Potter wrote:
__lookup_hash() ends up calling the underlying fs's lookup op, i.e.
nfs_lookup()
nfs_lookup() calls nfs_reval_fsid(nd->mnt, dir, &fhandle, &fattr);
see the bug? :)
This doesn't seem like a unionfs bug, as one should be able to call
lookup_one_len() on an NFS fs.
Did someone start handing out these promises when I wasn't looking?
AFAICS, lookup_one_len() should only be used by the filesystem itself,
or by services like nfsd that have intimate knowledge of the
filesystem's inner workings.
The reason why NFS would like to insist on that nameidata is that we
need to be able to create mountpoints on the fly when we cross from one
filesystem on the server to another. Otherwise, we cannot offer the type
of guarantees that POSIX applications expect, such as the ability to
provide unique permanent inode numbers.
If we're to provide the ability for unionfs to use lookup_one_len() on
NFS, then we will have to error out whenever we hit a case where we
should be creating a new mountpoint. Is that acceptable?
why does the client care about server mounted file systems? The
server's nfsd has to tell them apart, otherwise shouldn't give them to
the client. Otherwise it seems like the nfsd and the nfs client have to
have innate knowledge of each other.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]