]> git.michaelhowe.org Git - packages/o/openafs.git/commit
windows-dir-20071103
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 3 Nov 2007 16:18:14 +0000 (16:18 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 3 Nov 2007 16:18:14 +0000 (16:18 +0000)
commit2c45d9ec9fc888c2c6eed46538fe4a9c440e3c8c
tree53d001d5d1e08db516d0806d9abe47da0bdc6d47
parentef6684d005b3858dd6a1a94deee48b4bbd167932
windows-dir-20071103

Reorganize the locking for cm_BeginDirOp and cm_EndDirOp.
There are a number of locations where locks are obtained, dropped, and
reobtained.  This reorganization attempts to accomplish several things:

(1) be optimistic for the most common case so it will be fast

(2) add consistency checks after each location where locks are dropped
    and re-obtained.  If we lose a race in cm_BeginDirOp and the bplus
    tree is out of date, retry until we get to a consistent state
    that we can use.

(3) Ensure that all operations take place with the correct locks.
src/WINNT/afsd/cm_dir.c
src/WINNT/afsd/cm_dir.h