|
@@ -220,15 +220,8 @@ static int nfs3_proc_access(struct inode *inode, struct nfs_access_entry *entry)
|
|
|
|
|
|
status = rpc_call_sync(NFS_CLIENT(inode), &msg, 0);
|
|
|
nfs_refresh_inode(inode, res.fattr);
|
|
|
- if (status == 0) {
|
|
|
- entry->mask = 0;
|
|
|
- if (res.access & NFS3_ACCESS_READ)
|
|
|
- entry->mask |= MAY_READ;
|
|
|
- if (res.access & (NFS3_ACCESS_MODIFY | NFS3_ACCESS_EXTEND | NFS3_ACCESS_DELETE))
|
|
|
- entry->mask |= MAY_WRITE;
|
|
|
- if (res.access & (NFS3_ACCESS_LOOKUP|NFS3_ACCESS_EXECUTE))
|
|
|
- entry->mask |= MAY_EXEC;
|
|
|
- }
|
|
|
+ if (status == 0)
|
|
|
+ nfs_access_set_mask(entry, res.access);
|
|
|
nfs_free_fattr(res.fattr);
|
|
|
out:
|
|
|
dprintk("NFS reply access: %d\n", status);
|