From 2f270a3e9206344464f1414cb04895090d93590d Mon Sep 17 00:00:00 2001 From: Tom Keiser Date: Tue, 29 Sep 2009 10:25:55 -0400 Subject: [PATCH] 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 Tested-by: Derrick Brashear --- src/vol/volume_inline.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vol/volume_inline.h b/src/vol/volume_inline.h index d0bc2f2d4..b5be2acd5 100644 --- a/src/vol/volume_inline.h +++ b/src/vol/volume_inline.h @@ -66,6 +66,7 @@ VIsExclusiveState(VolState state) case VOL_STATE_VNODE_GET: case VOL_STATE_VNODE_CLOSE: case VOL_STATE_VNODE_RELEASE: + case VOL_STATE_VLRU_ADD: return 1; default: return 0; -- 2.39.5