nfs: BUG_ON in nfs_follow_mountpoint

Unfortunately, BUG_ON(IS_ROOT(dentry)) can happen inside
nfs_follow_mountpoint with NFS running Fedora 8 using a
specific setup.
https://bugzilla.redhat.com/show_bug.cgi?id=458622

So, the situation should be handled on NFS client gracefully.

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Trond Myklebust <Trond.Myklebust@netapp.com>
CC: J. Bruce Fields <bfields@fieldses.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Denis V. Lunev 2008-08-11 12:02:34 +04:00 committed by Trond Myklebust
parent c9f6cde6e2
commit 44d5759d3f

View File

@ -105,7 +105,10 @@ static void * nfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
dprintk("--> nfs_follow_mountpoint()\n"); dprintk("--> nfs_follow_mountpoint()\n");
BUG_ON(IS_ROOT(dentry)); err = -ESTALE;
if (IS_ROOT(dentry))
goto out_err;
dprintk("%s: enter\n", __func__); dprintk("%s: enter\n", __func__);
dput(nd->path.dentry); dput(nd->path.dentry);
nd->path.dentry = dget(dentry); nd->path.dentry = dget(dentry);