]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: log and invalidate invalid dir pages
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 22 Jan 2011 17:15:03 +0000 (12:15 -0500)
committerDerrick Brashear <shadow@dementia.org>
Tue, 8 Feb 2011 06:22:17 +0000 (22:22 -0800)
If when parsing a directory page in cm_ApplyDir the consistency
checks fail, log a message and invalidate the page in case
it was a transient failure.

Reviewed-on: http://gerrit.openafs.org/3742
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit de7af90fb8a1a132fb44fcc3d732fb593a45f6db)

Change-Id: I76cd2738df31b1609d0065ac2706a86f75d8a269
Reviewed-on: http://gerrit.openafs.org/3857
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/WINNT/afsd/cm_vnodeops.c

index b1668d1e72269eebd6f57a00f2fb5efefa752d75..0c9b37190d834f504a94d817d3e5542f228d6bd4 100644 (file)
@@ -681,6 +681,12 @@ long cm_ApplyDir(cm_scache_t *scp, cm_DirFuncp_t funcp, void *parmp,
         if (dep->flag != CM_DIR_FFIRST ||
             strlen(dep->name) > 256) {
             code = CM_ERROR_INVAL;
+            osi_Log2(afsd_logp,
+                     "cm_ApplyDir invalid directory entry for scp %p bufp %p",
+                     scp, bufferp);
+            osi_Log4(afsd_logp,"... cell %u vol %u vnode %u uniq %u",
+                     scp->fid.cell, scp->fid.volume, scp->fid.vnode, scp->fid.unique);
+            bufferp->dataVersion = CM_BUF_VERSION_BAD;
             break;
         }