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)