diff options
Diffstat (limited to 'fs/nfsd/nfs4proc.c')
-rw-r--r-- | fs/nfsd/nfs4proc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 3c627128e205..29b7e63cb32c 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c | |||
@@ -100,7 +100,15 @@ do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_o | |||
100 | status = nfsd_create_v3(rqstp, current_fh, open->op_fname.data, | 100 | status = nfsd_create_v3(rqstp, current_fh, open->op_fname.data, |
101 | open->op_fname.len, &open->op_iattr, | 101 | open->op_fname.len, &open->op_iattr, |
102 | &resfh, open->op_createmode, | 102 | &resfh, open->op_createmode, |
103 | (u32 *)open->op_verf.data, &open->op_truncate, &created); | 103 | (u32 *)open->op_verf.data, |
104 | &open->op_truncate, &created); | ||
105 | |||
106 | /* If we ever decide to use different attrs to store the | ||
107 | * verifier in nfsd_create_v3, then we'll need to change this | ||
108 | */ | ||
109 | if (open->op_createmode == NFS4_CREATE_EXCLUSIVE && status == 0) | ||
110 | open->op_bmval[1] |= (FATTR4_WORD1_TIME_ACCESS | | ||
111 | FATTR4_WORD1_TIME_MODIFY); | ||
104 | } else { | 112 | } else { |
105 | status = nfsd_lookup(rqstp, current_fh, | 113 | status = nfsd_lookup(rqstp, current_fh, |
106 | open->op_fname.data, open->op_fname.len, &resfh); | 114 | open->op_fname.data, open->op_fname.len, &resfh); |