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) goto out; } + if (fattr->valid & NFS_ATTR_FATTR_FSID && + !nfs_fsid_equal(&server->fsid, &fattr->fsid)) + memcpy(&server->fsid, &fattr->fsid, sizeof(server->fsid)); + inode = nfs_fhget(sb, mntfh, fattr); if (IS_ERR(inode)) { dprintk("nfs_get_root: get root inode failed\n");