drbdsetup X resume-io should be usable to resume IO [Bugz 256]
authorPhilipp Reisner <philipp.reisner@linbit.com>
Wed, 21 Oct 2009 11:08:29 +0000 (13:08 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Wed, 4 Nov 2009 14:21:01 +0000 (15:21 +0100)
When IO gets frozen due to a broken fence-peer script, the user
should be able to thaw IO by the resume-io command.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_main.c

index 11d8ff6..157d1e4 100644 (file)
@@ -867,10 +867,9 @@ static union drbd_state sanitize_state(struct drbd_conf *mdev, union drbd_state
        }
 
        if (fp == FP_STONITH &&
-           (ns.role == R_PRIMARY &&
-            ns.conn < C_CONNECTED &&
-            ns.pdsk > D_OUTDATED))
-                       ns.susp = 1;
+           (ns.role == R_PRIMARY && ns.conn < C_CONNECTED && ns.pdsk > D_OUTDATED) &&
+           !(os.role == R_PRIMARY && os.conn < C_CONNECTED && os.pdsk > D_OUTDATED))
+               ns.susp = 1;
 
        if (ns.aftr_isp || ns.peer_isp || ns.user_isp) {
                if (ns.conn == C_SYNC_SOURCE)