diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/getroot.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfs/getroot.c b/fs/nfs/getroot.c index b5ffe8fa291f..79796521cfdc 100644 --- a/fs/nfs/getroot.c +++ b/fs/nfs/getroot.c | |||
@@ -199,6 +199,10 @@ struct dentry *nfs4_get_root(struct super_block *sb, struct nfs_fh *mntfh) | |||
199 | goto out; | 199 | goto out; |
200 | } | 200 | } |
201 | 201 | ||
202 | if (fattr->valid & NFS_ATTR_FATTR_FSID && | ||
203 | !nfs_fsid_equal(&server->fsid, &fattr->fsid)) | ||
204 | memcpy(&server->fsid, &fattr->fsid, sizeof(server->fsid)); | ||
205 | |||
202 | inode = nfs_fhget(sb, mntfh, fattr); | 206 | inode = nfs_fhget(sb, mntfh, fattr); |
203 | if (IS_ERR(inode)) { | 207 | if (IS_ERR(inode)) { |
204 | dprintk("nfs_get_root: get root inode failed\n"); | 208 | dprintk("nfs_get_root: get root inode failed\n"); |