]> git.michaelhowe.org Git - packages/o/openafs.git/commit
DEVEL15-windows-dir-20071103
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 3 Nov 2007 16:19:28 +0000 (16:19 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 3 Nov 2007 16:19:28 +0000 (16:19 +0000)
commit7dec6b95b4aea08c72308606d5e21e5bfdb4276f
tree646c693d91223126fe9d9b3955d8f6f60b79197d
parent427437056d71dc950846020be9f75a4891aa3118
DEVEL15-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.

(cherry picked from commit 2c45d9ec9fc888c2c6eed46538fe4a9c440e3c8c)
src/WINNT/afsd/cm_dir.c
src/WINNT/afsd/cm_dir.h