[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44F6FE58.9020701@cs.columbia.edu>
Date: Thu, 31 Aug 2006 11:20:56 -0400
From: Shaya Potter <spotter@...columbia.edu>
To: linux-fsdevel@...r.kernel.org
CC: linux-kernel@...r.kernel.org, unionfs@....cs.sunysb.edu
Subject: Re: bug in nfs in 2.6.18-rc5?
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists