diff options
| -rw-r--r-- | fs/nfsd/nfsctl.c | 6 | 
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index 928a0b2c05dc..b14f825c62fe 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -1215,11 +1215,9 @@ static void clear_ncl(struct inode *inode)  	struct nfsdfs_client *ncl = inode->i_private;  	inode->i_private = NULL; -	synchronize_rcu();  	kref_put(&ncl->cl_ref, ncl->cl_release);  } -  static struct nfsdfs_client *__get_nfsdfs_client(struct inode *inode)  {  	struct nfsdfs_client *nc = inode->i_private; @@ -1233,9 +1231,9 @@ struct nfsdfs_client *get_nfsdfs_client(struct inode *inode)  {  	struct nfsdfs_client *nc; -	rcu_read_lock(); +	inode_lock_shared(inode);  	nc = __get_nfsdfs_client(inode); -	rcu_read_unlock(); +	inode_unlock_shared(inode);  	return nc;  }  /* from __rpc_unlink */  | 
