aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/dir.c
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2010-12-09 06:35:14 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-01-04 13:10:40 -0500
commita8a5da996df7d2d91b5aef2752da9adcefea4bc6 (patch)
tree605be5f4af59d5cc324ae11c18a8b34db7ab3c6a /fs/nfs/dir.c
parentbf0c84f1614bffc59565d04f09b9ac6b1aa269a9 (diff)
nfs: Set MS_POSIXACL always
We want to skip VFS applying mode for NFS. So set MS_POSIXACL always and selectively use umask. Ideally we would want to use umask only when we don't have inheritable ACEs set. But NFS currently don't allow to send umask to the server. So this is best what we can do and this is consistent with NFSv3 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r--fs/nfs/dir.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 831d61c4449b..6ceedc7b98da 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -1352,8 +1352,7 @@ static struct dentry *nfs_atomic_lookup(struct inode *dir, struct dentry *dentry
1352 if (nd->flags & LOOKUP_CREATE) { 1352 if (nd->flags & LOOKUP_CREATE) {
1353 attr.ia_mode = nd->intent.open.create_mode; 1353 attr.ia_mode = nd->intent.open.create_mode;
1354 attr.ia_valid = ATTR_MODE; 1354 attr.ia_valid = ATTR_MODE;
1355 if (!IS_POSIXACL(dir)) 1355 attr.ia_mode &= ~current_umask();
1356 attr.ia_mode &= ~current_umask();
1357 } else { 1356 } else {
1358 open_flags &= ~(O_EXCL | O_CREAT); 1357 open_flags &= ~(O_EXCL | O_CREAT);
1359 attr.ia_valid = 0; 1358 attr.ia_valid = 0;