Windows: log and invalidate invalid dir pages

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.

Change-Id: Iab690cd876a717fbdef30fb78e4ed559fa7e0a5a
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>
This commit is contained in:
Jeffrey Altman 2011-01-22 12:15:03 -05:00 committed by Jeffrey Altman
parent cd6bd75d1c
commit de7af90fb8

View File

@ -684,6 +684,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;
}