diff options
author | Weston Andros Adamson <dros@netapp.com> | 2013-08-13 16:37:37 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-09-05 10:50:45 -0400 |
commit | 8c21c62c4452f4e66c3dac9b3f6b74474fad3e08 (patch) | |
tree | c7c5b3edd7dfa21604336c3820e6b859d3cf0fa6 /fs/nfs/nfs4proc.c | |
parent | 3787d5063c52b0c38003e6293f24839508604070 (diff) |
nfs4.1: Add SP4_MACH_CRED write and commit support
WRITE and COMMIT can use the machine credential.
If WRITE is supported and COMMIT is not, make all (mach cred) writes FILE_SYNC4.
Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 4818a38f469b..e3cdfe346ebc 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -6223,6 +6223,16 @@ static int nfs4_sp4_select_mode(struct nfs_client *clp, | |||
6223 | dfprintk(MOUNT, " stateid mode enabled\n"); | 6223 | dfprintk(MOUNT, " stateid mode enabled\n"); |
6224 | set_bit(NFS_SP4_MACH_CRED_STATEID, &clp->cl_sp4_flags); | 6224 | set_bit(NFS_SP4_MACH_CRED_STATEID, &clp->cl_sp4_flags); |
6225 | } | 6225 | } |
6226 | |||
6227 | if (test_bit(OP_WRITE, sp->allow.u.longs)) { | ||
6228 | dfprintk(MOUNT, " write mode enabled\n"); | ||
6229 | set_bit(NFS_SP4_MACH_CRED_WRITE, &clp->cl_sp4_flags); | ||
6230 | } | ||
6231 | |||
6232 | if (test_bit(OP_COMMIT, sp->allow.u.longs)) { | ||
6233 | dfprintk(MOUNT, " commit mode enabled\n"); | ||
6234 | set_bit(NFS_SP4_MACH_CRED_COMMIT, &clp->cl_sp4_flags); | ||
6235 | } | ||
6226 | } | 6236 | } |
6227 | 6237 | ||
6228 | return 0; | 6238 | return 0; |