DEVEL15-dafs-vol-offline-20090428
authorMike Meffie <mmeffie@sinenomine.net>
Tue, 28 Apr 2009 15:37:51 +0000 (15:37 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 28 Apr 2009 15:37:51 +0000 (15:37 +0000)
LICENSE IPL10
FIXES 124582

fix a logic error in the dafs vos offline support

(cherry picked from commit 5958aa0c4b0a9279a918cda1f37cb7e6c5666d44)

src/vol/volume.c

index c28331e..f4b703f 100644 (file)
@@ -2337,10 +2337,13 @@ attach2(Error * ec, VolId volumeId, char *path, register struct VolumeHeader * h
                break;
 
            case FSSYNC_VolOpRunningUnknown:
-               vp->pending_vol_op->vol_op_state = 
-                   (VVolOpLeaveOnline_r(vp, vp->pending_vol_op) ? 
-                    FSSYNC_VolOpRunningOnline : FSSYNC_VolOpRunningOffline);
-               /* fall through */
+               if (VVolOpLeaveOnline_r(vp, vp->pending_vol_op)) {
+                   vp->pending_vol_op->vol_op_state = FSSYNC_VolOpRunningOnline;
+                   break;
+               } else {
+                   vp->pending_vol_op->vol_op_state = FSSYNC_VolOpRunningOffline;
+                   /* fall through to take volume offline */
+               }
 
            case FSSYNC_VolOpRunningOffline:
                /* mark the volume down */