Cache bypass: fix use of incorrect "states"
authorMarc Dionne <marc.c.dionne@gmail.com>
Tue, 11 Jan 2011 02:31:18 +0000 (21:31 -0500)
committerDerrick Brashear <shadow@dementia.org>
Tue, 11 Jan 2011 16:35:21 +0000 (08:35 -0800)
Test and set the correct field for cache bypass flags.  There was
some confusion between cachingStates and the states associated with
vcache entries in a few places.

Change-Id: Iae957b6f838a44d75776e49662b4aba685800d19
Reviewed-on: http://gerrit.openafs.org/3637
Reviewed-by: Matt Benjamin <matt@linuxbox.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/afs/afs_bypasscache.c

index 3cab748..4aab3bb 100644 (file)
@@ -153,12 +153,12 @@ afs_TransitionToBypass(struct vcache *avc,
      * Someone may have beat us to doing the transition - we had no lock
      * when we checked the flag earlier.  No cause to panic, just return.
      */
-    if (avc->f.states & FCSBypass)
+    if (avc->cachingStates & FCSBypass)
        goto done;
 
     /* If we never cached this, just change state */
     if (setDesire && (!(avc->cachingStates & FCSBypass))) {
-       avc->f.states |= FCSBypass;
+       avc->cachingStates |= FCSBypass;
        goto done;
     }
 
@@ -233,7 +233,7 @@ afs_TransitionToCaching(struct vcache *avc,
      * Someone may have beat us to doing the transition - we had no lock
      * when we checked the flag earlier.  No cause to panic, just return.
      */
-    if (!(avc->f.states & FCSBypass))
+    if (!(avc->cachingStates & FCSBypass))
        goto done;
 
     /* Ok, we actually do need to flush */