projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[linux-2.6-block.git]
/
fs
/
nfs
/
namespace.c
diff --git
a/fs/nfs/namespace.c
b/fs/nfs/namespace.c
index 66df08dd1cafbb41cdbb7864128b0920e0c8dbd3..64a288ee046d027692f1dc395792609cfe1760aa 100644
(file)
--- a/
fs/nfs/namespace.c
+++ b/
fs/nfs/namespace.c
@@
-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__);
dput(nd->path.dentry);
nd->path.dentry = dget(dentry);
dprintk("%s: enter\n", __func__);
dput(nd->path.dentry);
nd->path.dentry = dget(dentry);
@@
-189,7
+192,7
@@
static struct vfsmount *nfs_do_clone_mount(struct nfs_server *server,
struct nfs_clone_mount *mountdata)
{
#ifdef CONFIG_NFS_V4
struct nfs_clone_mount *mountdata)
{
#ifdef CONFIG_NFS_V4
- struct vfsmount *mnt =
NULL
;
+ struct vfsmount *mnt =
ERR_PTR(-EINVAL)
;
switch (server->nfs_client->rpc_ops->version) {
case 2:
case 3:
switch (server->nfs_client->rpc_ops->version) {
case 2:
case 3: