make VOL_STATE_VLRU_ADD exclusive
authorTom Keiser <tkeiser@sinenomine.net>
Tue, 29 Sep 2009 14:25:55 +0000 (10:25 -0400)
committerDerrick Brashear <shadow|account-1000005@unknown>
Wed, 30 Sep 2009 09:43:32 +0000 (02:43 -0700)
commit2f270a3e9206344464f1414cb04895090d93590d
tree60b54a821e051ff67a03480c5ea1de06d37be1d4
parent06520711cbbb731da57e34cf955e525140bef33a
make VOL_STATE_VLRU_ADD exclusive

VLRU_Add_r() places a volume into VOL_STATE_VLRU_ADD before
calling VLRU_Wait_r(), which drops VOL_LOCK while waiting
for the required VLRU queue to quiesce.  Thus, it is essential
that state VOL_STATE_VLRU_ADD be marked exclusive so that
another thread cannot mutate state until the VLRU generation
add transaction completes.

Reviewed-on: http://gerrit.openafs.org/554
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/vol/volume_inline.h