windows-local-dir-updates-20080916
authorAsanka Herath <asanka@secure-endpoints.com>
Tue, 16 Sep 2008 12:45:22 +0000 (12:45 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 16 Sep 2008 12:45:22 +0000 (12:45 +0000)
commit1f686941197c32734acd2531a911b8e5e43cc94e
treeb77cd9a4bf1304650054be03fec1464ea453ffbd
parentc4117f6f07b92fcc3a135badb48099a01ba41fe2
windows-local-dir-updates-20080916

LICENSE MIT

When a local directory update occurs to the directory pages stored
in the dcache, there is no guarrantee that the same modifications
will be made to the cached pages as are being made by the file server.
In the situation that one or more of the cached pages are recycled,
it is not permissible to obtain the missing pages from the file server
without first invalidating the rest of the cached pages.  This is
necessary to prevent mixing of incompatible data representations.

Define a new flag CM_SCACHEFLAG_LOCAL which is used to indicate that
dcache entries were locally modified even though they are not dirty.

As the previous code could have corrupted the contents of the dcache,
bump CM_CONFIG_DATA_VERSION in order to force the rebuilding of the
cache.

Add error CM_ERROR_NOTINCACHE to indicate that a requested directory
page is not present in the cache and will not be created on the fly.

Prefetch all dcache entries for directories and ensure that a consistent
set is being used.
src/WINNT/afsd/cm.h
src/WINNT/afsd/cm_dir.c
src/WINNT/afsd/cm_memmap.h
src/WINNT/afsd/cm_scache.c
src/WINNT/afsd/cm_scache.h