]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: cm_HaveCallback optimize .readonly
authorJeffrey Altman <jaltman@your-file-system.com>
Thu, 5 Jul 2012 15:03:35 +0000 (11:03 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Sat, 8 Dec 2012 16:16:25 +0000 (08:16 -0800)
If the cm_scache_t has a registered callback, there is no reason
to obtain a volume reference for a .readonly.  Just use the
callback.

Reviewed-on: http://gerrit.openafs.org/7716
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit f73aebbe8772e62bf8930d70e9edab2f82ff8984)

Change-Id: Ibacb272fade3aa24beb0b7c9a966b9e769385669
Reviewed-on: http://gerrit.openafs.org/8638
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsd/cm_callback.c

index ef964482801272b9152426f6b5251d4c7dd05c7c..38dbab2632c015549149d763529d9e62e70a4499 100644 (file)
@@ -1555,6 +1555,9 @@ int cm_HaveCallback(cm_scache_t *scp)
         return (cm_data.fakeDirVersion == scp->dataVersion);
     }
 #endif
+    if (scp->cbServerp != NULL)
+       return 1;
+
     if (scp->flags & CM_SCACHEFLAG_PURERO) {
         cm_volume_t *volp = cm_GetVolumeByFID(&scp->fid);
         if (volp) {
@@ -1577,10 +1580,7 @@ int cm_HaveCallback(cm_scache_t *scp)
             return haveCB;
         }
     }
-    if (scp->cbServerp != NULL)
-       return 1;
-    else
-        return 0;
+    return 0;
 }
 
 /* need to detect a broken callback that races with our obtaining a callback.