Windows: Reset mp/symlink target during fs flush*
authorJeffrey Altman <jaltman@your-file-system.com>
Tue, 26 Nov 2013 15:31:32 +0000 (10:31 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Wed, 27 Nov 2013 17:42:19 +0000 (09:42 -0800)
When processing a "fs flush*" command, reset the the cm_scache_t
mountPointStringp which contains the known mountpoint or symlink
target information.

Change-Id: I72bba6101699e82649eed226cdfc73077b13de92
Reviewed-on: http://gerrit.openafs.org/10520
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsd/cm_ioctl.c

index 498f5e8..ae83382 100644 (file)
@@ -124,6 +124,11 @@ cm_FlushFile(cm_scache_t *scp, cm_user_t *userp, cm_req_t *reqp)
         lock_ObtainWrite(&scp->dirlock);
     lock_ObtainWrite(&scp->rw);
     cm_DiscardSCache(scp);
+    if (scp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
+       scp->fileType == CM_SCACHETYPE_SYMLINK) {
+       scp->mpDataVersion = CM_SCACHE_VERSION_BAD;
+       scp->mountPointStringp[0] = '\0';
+    }
     if (scp->fileType == CM_SCACHETYPE_DIRECTORY) {
         cm_ResetSCacheDirectory(scp, 1);
         lock_ReleaseWrite(&scp->dirlock);