Shaya Potter wrote:
so I'm trying to use unionfs, cachefs and nfs, as cachefs is 2.6.18-rc5
right now, thats what I'm testing, but I hit an oops.
basically unionfs's lookup does a "lookup_one_len()" on the underlying fs.
lookup_one_len() calls __lookup_hash()
__lookup_hash() is called as "__lookup_hash(&this, base, NULL)"
now that NULL is important. that's the nameidata entry of __lookup_hash()
__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.
ok my "fix" is basically that nfs_reval_fsid() uses the nd->mnt to get
to mnt->mnt_root.
I basically switched it to take a dentry and I call it as
nfs_reval_fsid(dentry->d_sb->s_root, dir.....)
have no clue if this is correct, but it doesn't oops anymore and seems
to "work".
-
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]