[OpenAFS-devel] RFC: Status returned by vos for pre-attached volumes on demand-attach

Steven Jenkins steven.jenkins@gmail.com
Wed, 22 Jul 2009 09:23:24 -0400


On Wed, Jul 22, 2009 at 8:16 AM, Jeffrey
Altman<jaltman@secure-endpoints.com> wrote:
> Alistair Ferguson wrote:
>> There are at least four options:
>> 1. expose all underlying states to vos examine
>> 2. expose pre-attached to vos examine
>> 3. convert pre-attached to on-line for vos (the current behavior)
>> 4. convert pre-attached to off-line for vos
>>
>> Option 3 is currently implemented and is the least desirable.
>>
>> Our suggestion is that we implement option 1, which will require
>> exposing the current volume state onto the inUse field in the
>> FillVolInfo function in the volserver. =A0The vos command would need to =
be
>> modified to be aware of the new values, but unmodified vos commands
>> would report off-line for volumes in a
>> state other than fully attached.
>>
>> Note that options 1 and 2 involve a change in behaviour for sites runnin=
g
>> demand-attach.
>
> The Windows client performs extensive volume status monitoring in order
> to export that status info to third party kernel drivers that can use
> that state info to fail over between cell clones or redirect offline
> paths to alternate locations. =A0 As part of this logic,
> RXAFS_GetVolumeStatus is executed on inaccessible volumes to obtain
> their current status. =A0 From the perspective of the clients that are
> currently shipping, option 3 is the most desirable and option 4 will
> break them.
>
> I appreciate the desire to export additional information. =A0I believe
> that this should be done by a new RPC, RXAFS_GetVolumeStatus2, that
> documents the new states and their meanings. =A0Clients that use the new
> RPC will be expected to be knowledgeable of the new states.
>

While I don't necessarily disagree that the additional information
would be useful to Windows clients (or cache managers in general),
that is orthogonal to our request, which, as Ali's mail states, is
about the vos command, which uses UV_ListOneVolume, and, in turn,
AFSVolListOneVolume.

I'd like to keep those two discussions (one for vos, one for clients)
separate for clarity's sake.

Thanks,
Steven Jenkins
End Point Corporation
http://www.endpoint.com/