]> git.michaelhowe.org Git - packages/o/openafs.git/commit
DEVEL15-windows-local-dir-updates-20080916
authorAsanka Herath <asanka@secure-endpoints.com>
Tue, 16 Sep 2008 12:47:47 +0000 (12:47 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 16 Sep 2008 12:47:47 +0000 (12:47 +0000)
commit431de134970104877a0c8e7a37a06375d2e91ed1
treed71861b173e03e4efa51e5f9975a495f90fd0e80
parent0bd9159573a7f05e9cc21882a7fe1eebb5c5b8ce
DEVEL15-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.

(cherry picked from commit 1f686941197c32734acd2531a911b8e5e43cc94e)
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