From: Jeffrey Altman Date: Wed, 20 Mar 2013 14:10:03 +0000 (-0400) Subject: Windows: buf_ClearRDRFlag and cm_directIO X-Git-Tag: openafs-stable-1_8_0pre1~1282 X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=3a31f5d90c490a23b3f59f50aa9ced63b8cb98af 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 --- diff --git a/src/WINNT/afsd/cm_buf.c b/src/WINNT/afsd/cm_buf.c index a3c70a5..418146e 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);