]> git.michaelhowe.org Git - packages/o/openafs.git/commit
DEVEL15-dafs-vol-offline-status-20080925
authorMax Cohan <max@endpoint.com>
Thu, 25 Sep 2008 09:58:22 +0000 (09:58 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 25 Sep 2008 09:58:22 +0000 (09:58 +0000)
commitbcb482c975424f4caa6b44b363353203975aa8fe
tree100cd8c5fe503fcfcf464fd1e91d83c59589ec2d
parent117e018adb06835571f56646a0ec398ea81cc888
DEVEL15-dafs-vol-offline-status-20080925

LICENSE IPL10
FIXES 117499

This patch makes several alterations to the DAFS volserver. The two
major changes are:

* a potential information leak whereby random heap contents could be
exported over the four listvolume rpc variants is corrected

* volume online/offline reporting correctly reports in several additional
corner cases (see the comments in FillVolInfo() in src/volser/volprocs.c
for the complete list of cases):

VOL_STATE_SALVSYNC_REQ:
exclusive state while a fileserver is busy requesting a demand
salvage over the SALVSYNC protocol

V_needsSalvaged():
volume disk header field which is asserted when the fileserver
detects that a volume needs to be salvaged

pending volume operation with command code FSYNC_VOL_OFF:
this command code indicates that a volume utility requires
exclusive access to the volume

pending volume operation and VVolOpLeaveOnline_r returned false:
this indicates that a volume operation is in-progress, and the
internal function VVolOpLeaveOnline_r has decided that the volume
cannot be served concurrently with this volume transaction

(cherry picked from commit b5a6e4bf36dbb2099f17318ae09ff38a25687c5f)
src/volser/volprocs.c