vos offline: Bring volume back online for -busy
authorAndrew Deason <adeason@sinenomine.net>
Fri, 14 Oct 2011 16:32:34 +0000 (11:32 -0500)
committerDerrick Brashear <shadow@dementix.org>
Mon, 24 Oct 2011 20:12:37 +0000 (13:12 -0700)
vos offline is supposed to bring a volume back online from "busy"
status before exiting, as volumes should not be in "busy" status for
extended periods of time. This was being enforced by required that
-sleep be specified; however, -sleep only results in the volume being
brought back online if a non-zero sleep time was specified. So, make
sure the volume is brought back online if -busy was specified.

Change-Id: I6e605771fcfcabbb09f6dcfd0576c062f64ad93f
Reviewed-on: http://gerrit.openafs.org/5620
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/volser/vos.c

index a8cbe41..38c5aa6 100644 (file)
@@ -1881,7 +1881,7 @@ volOffline(struct cmd_syndesc *as, void *arock)
 
     transflag = (as->parms[4].items ? ITBusy : ITOffline);
     sleeptime = (as->parms[3].items ? atol(as->parms[3].items->data) : 0);
-    transdone = (sleeptime ? 0 /*online */ : VTOutOfService);
+    transdone = ((sleeptime || as->parms[4].items) ? 0 /*online */ : VTOutOfService);
     if (as->parms[4].items && !as->parms[3].items) {
        fprintf(STDERR, "-sleep option must be used with -busy flag\n");
        return -1;