diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2010-12-09 11:35:14 +0000 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-01-04 13:10:40 -0500 |
commit | a8a5da996df7d2d91b5aef2752da9adcefea4bc6 (patch) | |
tree | 605be5f4af59d5cc324ae11c18a8b34db7ab3c6a /fs/nfs/super.c | |
parent | bf0c84f1614bffc59565d04f09b9ac6b1aa269a9 (diff) | |
download | linux-a8a5da996df7d2d91b5aef2752da9adcefea4bc6.tar.gz linux-a8a5da996df7d2d91b5aef2752da9adcefea4bc6.tar.bz2 linux-a8a5da996df7d2d91b5aef2752da9adcefea4bc6.zip |
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.c | 10 |
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, sb->s_maxbytes = old_sb->s_maxbytes; sb->s_time_gran = 1; sb->s_op = old_sb->s_op; + /* + * The VFS shouldn't apply the umask to mode bits. We will do + * so ourselves when necessary. + */ + sb->s_flags |= MS_POSIXACL; nfs_initialise_sb(sb); } @@ -2506,6 +2511,11 @@ static void nfs4_fill_super(struct super_block *sb) { sb->s_time_gran = 1; sb->s_op = &nfs4_sops; + /* + * The VFS shouldn't apply the umask to mode bits. We will do + * so ourselves when necessary. + */ + sb->s_flags |= MS_POSIXACL; nfs_initialise_sb(sb); } |