aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/super.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/super.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/super.c')
-rw-r--r--fs/nfs/super.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index dd56eec16eac..001f9cb2804b 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -2496,6 +2496,11 @@ static void nfs4_clone_super(struct super_block *sb,
2496 sb->s_maxbytes = old_sb->s_maxbytes; 2496 sb->s_maxbytes = old_sb->s_maxbytes;
2497 sb->s_time_gran = 1; 2497 sb->s_time_gran = 1;
2498 sb->s_op = old_sb->s_op; 2498 sb->s_op = old_sb->s_op;
2499 /*
2500 * The VFS shouldn't apply the umask to mode bits. We will do
2501 * so ourselves when necessary.
2502 */
2503 sb->s_flags |= MS_POSIXACL;
2499 nfs_initialise_sb(sb); 2504 nfs_initialise_sb(sb);
2500} 2505}
2501 2506
@@ -2506,6 +2511,11 @@ static void nfs4_fill_super(struct super_block *sb)
2506{ 2511{
2507 sb->s_time_gran = 1; 2512 sb->s_time_gran = 1;
2508 sb->s_op = &nfs4_sops; 2513 sb->s_op = &nfs4_sops;
2514 /*
2515 * The VFS shouldn't apply the umask to mode bits. We will do
2516 * so ourselves when necessary.
2517 */
2518 sb->s_flags |= MS_POSIXACL;
2509 nfs_initialise_sb(sb); 2519 nfs_initialise_sb(sb);
2510} 2520}
2511 2521