[PATCH] nfsd4: rename lk_stateowner
authorJ. Bruce Fields <bfields@citi.umich.edu>
Thu, 19 Jan 2006 01:43:19 +0000 (17:43 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 19 Jan 2006 03:20:24 +0000 (19:20 -0800)
One of the things that's confusing about nfsd4_lock is that the lk_stateowner
field could be set to either of two different lockowners: the open owner or
the lock owner.  Rename to lk_replay_owner and add a comment to make it clear
that it's used for whichever stateowner has its sequence id bumped for replay
detection.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/nfsd/nfs4state.c
fs/nfsd/nfs4xdr.c
include/linux/nfsd/xdr4.h

index 5bf7fd3..578ea52 100644 (file)
@@ -2725,11 +2725,11 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock
                                        lock->lk_new_open_seqid,
                                        &lock->lk_new_open_stateid,
                                        CHECK_FH | OPEN_STATE,
-                                       &lock->lk_stateowner, &open_stp,
+                                       &lock->lk_replay_owner, &open_stp,
                                        lock);
                if (status)
                        goto out;
-               open_sop = lock->lk_stateowner;
+               open_sop = lock->lk_replay_owner;
                /* create lockowner and lock stateid */
                fp = open_stp->st_file;
                strhashval = lock_ownerstr_hashval(fp->fi_inode, 
@@ -2752,12 +2752,12 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock
                                       lock->lk_old_lock_seqid, 
                                       &lock->lk_old_lock_stateid, 
                                       CHECK_FH | LOCK_STATE, 
-                                      &lock->lk_stateowner, &lock_stp, lock);
+                                      &lock->lk_replay_owner, &lock_stp, lock);
                if (status)
                        goto out;
-               lock_sop = lock->lk_stateowner;
+               lock_sop = lock->lk_replay_owner;
        }
-       /* lock->lk_stateowner and lock_stp have been created or found */
+       /* lock->lk_replay_owner and lock_stp have been created or found */
        filp = lock_stp->st_vfs_file;
 
        status = nfserr_grace;
@@ -2830,9 +2830,9 @@ conflicting_lock:
 out:
        if (status && lock->lk_is_new && lock_sop)
                release_stateowner(lock_sop);
-       if (lock->lk_stateowner) {
-               nfs4_get_stateowner(lock->lk_stateowner);
-               *replay_owner = lock->lk_stateowner;
+       if (lock->lk_replay_owner) {
+               nfs4_get_stateowner(lock->lk_replay_owner);
+               *replay_owner = lock->lk_replay_owner;
        }
        nfs4_unlock_state();
        return status;
index dcd6731..6b74332 100644 (file)
@@ -528,7 +528,7 @@ nfsd4_decode_lock(struct nfsd4_compoundargs *argp, struct nfsd4_lock *lock)
 {
        DECODE_HEAD;
 
-       lock->lk_stateowner = NULL;
+       lock->lk_replay_owner = NULL;
        /*
        * type, reclaim(boolean), offset, length, new_lock_owner(boolean)
        */
@@ -1895,7 +1895,6 @@ nfsd4_encode_lock_denied(struct nfsd4_compoundres *resp, struct nfsd4_lock_denie
 static void
 nfsd4_encode_lock(struct nfsd4_compoundres *resp, int nfserr, struct nfsd4_lock *lock)
 {
-
        ENCODE_SEQID_OP_HEAD;
 
        if (!nfserr) {
@@ -1906,7 +1905,7 @@ nfsd4_encode_lock(struct nfsd4_compoundres *resp, int nfserr, struct nfsd4_lock
        } else if (nfserr == nfserr_denied)
                nfsd4_encode_lock_denied(resp, &lock->lk_denied);
 
-       ENCODE_SEQID_OP_TAIL(lock->lk_stateowner);
+       ENCODE_SEQID_OP_TAIL(lock->lk_replay_owner);
 }
 
 static void
index 8903688..77adba7 100644 (file)
@@ -145,8 +145,9 @@ struct nfsd4_lock {
                } ok;
                struct nfsd4_lock_denied        denied;
        } u;
-
-       struct nfs4_stateowner *lk_stateowner;
+       /* The lk_replay_owner is the open owner in the open_to_lock_owner
+        * case and the lock owner otherwise: */
+       struct nfs4_stateowner *lk_replay_owner;
 };
 #define lk_new_open_seqid       v.new.open_seqid
 #define lk_new_open_stateid     v.new.open_stateid