diff options
Diffstat (limited to 'fs/nfs/nfs3acl.c')
| -rw-r--r-- | fs/nfs/nfs3acl.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c index 9ec560aa4a50..93de0b58647a 100644 --- a/fs/nfs/nfs3acl.c +++ b/fs/nfs/nfs3acl.c @@ -44,7 +44,7 @@ static void nfs3_abort_get_acl(struct posix_acl **p)  	cmpxchg(p, sentinel, ACL_NOT_CACHED);  } -struct posix_acl *nfs3_get_acl(struct inode *inode, int type) +struct posix_acl *nfs3_get_acl(struct inode *inode, int type, bool rcu)  {  	struct nfs_server *server = NFS_SERVER(inode);  	struct page *pages[NFSACL_MAXPAGES] = { }; @@ -62,6 +62,9 @@ struct posix_acl *nfs3_get_acl(struct inode *inode, int type)  	};  	int status, count; +	if (rcu) +		return ERR_PTR(-ECHILD); +  	if (!nfs_server_capable(inode, NFS_CAP_ACLS))  		return ERR_PTR(-EOPNOTSUPP);  | 
