From d5001acddda6864e7c3409f9286bc0bb907090ef Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 5 Jul 2012 11:03:35 -0400 Subject: [PATCH] Windows: cm_HaveCallback optimize .readonly 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 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f73aebbe8772e62bf8930d70e9edab2f82ff8984) Change-Id: Ibacb272fade3aa24beb0b7c9a966b9e769385669 Reviewed-on: http://gerrit.openafs.org/8638 Tested-by: BuildBot Reviewed-by: Jeffrey Altman --- src/WINNT/afsd/cm_callback.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/WINNT/afsd/cm_callback.c b/src/WINNT/afsd/cm_callback.c index ef9644828..38dbab263 100644 --- a/src/WINNT/afsd/cm_callback.c +++ b/src/WINNT/afsd/cm_callback.c @@ -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. -- 2.39.5