nfsd: clarify exclusive create bitmask result.
authorJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 2 Feb 2009 20:12:27 +0000 (15:12 -0500)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Wed, 18 Mar 2009 21:30:48 +0000 (17:30 -0400)
The use of |= is confusing--the bitmask is always initialized to zero in
this case, so we're effectively just doing an assignment here.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4proc.c

index 9fa60a3..85b9a08 100644 (file)
@@ -103,11 +103,13 @@ do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_o
                                        (u32 *)open->op_verf.data,
                                        &open->op_truncate, &created);
 
-               /* If we ever decide to use different attrs to store the
-                * verifier in nfsd_create_v3, then we'll need to change this
+               /*
+                * Following rfc 3530 14.2.16, use the returned bitmask
+                * to indicate which attributes we used to store the
+                * verifier:
                 */
                if (open->op_createmode == NFS4_CREATE_EXCLUSIVE && status == 0)
-                       open->op_bmval[1] |= (FATTR4_WORD1_TIME_ACCESS |
+                       open->op_bmval[1] = (FATTR4_WORD1_TIME_ACCESS |
                                                FATTR4_WORD1_TIME_MODIFY);
        } else {
                status = nfsd_lookup(rqstp, current_fh,