From 3a31f5d90c490a23b3f59f50aa9ced63b8cb98af Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 20 Mar 2013 10:10:03 -0400 Subject: [PATCH] Windows: buf_ClearRDRFlag and cm_directIO When 'cm_directIO' is true, there are no RDR held buffers therefore there is nothing for buf_ClearRDRFlag() to do. Do not pass 'Go', do not obtain cm_scache.rw exclusive nor buf_globalLock shared. Simply return immediately. Change-Id: I4c6d1486e3a2bef987a3eb36d8de446e9009e0d2 Reviewed-on: http://gerrit.openafs.org/9638 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/cm_buf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/WINNT/afsd/cm_buf.c b/src/WINNT/afsd/cm_buf.c index a3c70a5cd..418146e47 100644 --- a/src/WINNT/afsd/cm_buf.c +++ b/src/WINNT/afsd/cm_buf.c @@ -2520,6 +2520,9 @@ long buf_ClearRDRFlag(cm_scache_t *scp, char *reason) afs_uint32 bcount = 0; afs_uint32 i; + if (!RDR_Initialized || cm_directIO) + return 0; + i = BUF_FILEHASH(fidp); lock_ObtainWrite(&scp->rw); -- 2.39.5