GetVolume: do not wait for offlining volumes
authorAndrew Deason <adeason@sinenomine.net>
Tue, 8 Jun 2010 22:28:39 +0000 (17:28 -0500)
committerDerrick Brashear <shadow@dementia.org>
Tue, 15 Jun 2010 21:35:54 +0000 (14:35 -0700)
commit581aafaa698e395bfcfb7b82b595fbdef4b11279
tree1463bd066d31546581d7751b0343d4adeb6edac6
parentd7c79cec8295dd34fb97e6f22bfcc69dccb9f4c4
GetVolume: do not wait for offlining volumes

In non-DAFS GetVolume, previously we waited for a volume with
vp->goingOffline set to go offline before we return. However, the
fileserver afsfileprocs.c case can treat the "going offline" case and
the "is offline" case identically, so there is no reason to wait. So
make the fileserver call a new GetVolume variant that does not wait.

Without this, all of the threads in the fileserver can potentially be
tied up by waiting for a volume to go offline, if the volume is taking
a long time to go offline due to an offline request following a client
slowly accessing the volume.

Change-Id: I58ae11e585852130154389d8df0567432cd0c2df
Reviewed-on: http://gerrit.openafs.org/2124
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/viced/afsfileprocs.c
src/vol/volume.c
src/vol/volume.h