OpenAFS CVS Commit: openafs/src/viced by shadow

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Mon, 14 Jul 2008 09:42:47 EDT


Update of /cvs/openafs/src/viced
In directory GRAND.CENTRAL.ORG:/data/sb/openafs-devel-1_5_3x/src/viced

Modified Files:
      Tag: openafs-devel-1_5_3x
	afsfileprocs.c 
Log Message:
DELTA DEVEL153X-dafs-avoid-assert-while-moving-volumes-20080714
AUTHOR tkeiser@sinenomine.net
LICENSE IPL10
FIXES

The volume state is perfectly consistent. FSYNC_NEEDVOLUME (and the
other state in the pending_vol_op object) is perfectly normal -- it
simply means the volser has exclusive access to the volume for the
purposes of cloning. The bug is that during the DAFS development, I
changed the semantics of the VGetVolume interface without updating the
control logic in afsfileprocs accordingly:

In 1_4_x:
vp->specialstatus != 0 results in returning vp with nUsers incremented
and *ec = vp->sepcialstatus

In DAFS:
V_AttachState(vp) == VOL_STATE_UNATTACHED results in returning a NULL
vp. Since (vp->specialstatus != 0), *ec = vp->specialstatus.

The net result is we need to modify the VBUSY logic in CheckVnode().


--- DELTA config for openafs-devel-1_5_3x follows ---
DEVEL153X-dafs-avoid-assert-while-moving-volumes-20080714 openafs/src/viced/afsfileprocs.c 1.113.2.24 1.113.2.24.2.1