]> git.michaelhowe.org Git - packages/o/openafs.git/commit
Windows: Negative Caching for Volume Lookups
authorJeffrey Altman <jaltman@your-file-system.com>
Thu, 16 Sep 2010 12:23:41 +0000 (14:23 +0200)
committerDerrick Brashear <shadow@dementia.org>
Mon, 25 Oct 2010 21:34:32 +0000 (14:34 -0700)
commit47d79237b6378a95907df110d96c262896779e61
tree1383cd88cad358c8ebc3c99d7c43901d24ea80b3
parent22cae170a5babe36d56aa3a5a5503d15d28c297d
Windows: Negative Caching for Volume Lookups

If a volume lookup returns VL_NOENT or VL_BADNAME, cache the negative
response for five minutes.  This prevents volume lookup storms caused
by the same volume lookup being performed repeated during a short
time period.  This can happen if mount points to volumes that do not
exist are present in a directory that is being evaluated by Windows
Explorer or Common Control File Dialogs.

This functionality is implemented by storing the most recent update
time for the volume group as part of the cm_volume_t.  A non-existing
volume group is identified with a new CM_VOLUMEFLAG_NOEXIST flag.
The presence of the lastUpdateTime value also permits volume location
information to expire at lastUpdateTime + lifetime instead of expiring
all volume information simultaneously each lifetime period.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/2771
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit a00da7d2c9a66f1e5984ec2b3bd3efe10793e1c9)
Change-Id: I3603e746a6df1834612647931cc09228428842db
Reviewed-on: http://gerrit.openafs.org/3132
Tested-by: Derrick Brashear <shadow@dementia.org>
src/WINNT/afsd/cm_daemon.c
src/WINNT/afsd/cm_ioctl.c
src/WINNT/afsd/cm_memmap.c
src/WINNT/afsd/cm_scache.h
src/WINNT/afsd/cm_volume.c
src/WINNT/afsd/cm_volume.h