vol: Do not overwrite specialStatus in attach2
authorAndrew Deason <adeason@sinenomine.net>
Tue, 21 Jun 2011 19:58:42 +0000 (14:58 -0500)
committerDerrick Brashear <shadow@dementia.org>
Wed, 22 Jun 2011 04:56:56 +0000 (21:56 -0700)
commit25688bc2e7e8da83b4bf22d7cdc3e0214eadc455
tree004669d393a47cbf037de51943df525e7cb07084
parent6b833f575743d4a826750bb6913cd53232a8867f
vol: Do not overwrite specialStatus in attach2

attach2 wants to set specialStatus to VBUSY in certain conditions
(such as, it discovers a conflicting vol op where VVolOpSetVBusy_r is
true). However, specialStatus may already be set to something else,
like VMOVED if the volume is being moved off of the server. This can
happen if the volserver has checked out and FSYNC_VOL_MOVE'd a
preattached volume but hasn't deleted or checked the volume back in
yet.

So, if specialStatus is already set, don't touch it, so we don't start
reporting VBUSY errors to clients when we should be reporting VMOVED,
or some other error code previously set.

Change-Id: Icb2895036620f186230e1558b8bc04d18cc45c86
Reviewed-on: http://gerrit.openafs.org/4873
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/vol/volume.c