]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drbd: Fixed state transitions in case reading meta data failes
authorPhilipp Reisner <philipp.reisner@linbit.com>
Fri, 1 Jul 2011 15:00:57 +0000 (17:00 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:57:50 +0000 (16:57 +0100)
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_nl.c
drivers/block/drbd/drbd_state.c

index 838c3cd54cdd5c11a03f0c59bc6f8d85c63a5251..97d1dab045d2ae46331a14170177322988adbbf3 100644 (file)
@@ -1645,7 +1645,7 @@ int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)
  force_diskless_dec:
        put_ldev(mdev);
  force_diskless:
-       drbd_force_state(mdev, NS(disk, D_FAILED));
+       drbd_force_state(mdev, NS(disk, D_DISKLESS));
        drbd_md_sync(mdev);
  fail:
        conn_reconfig_done(mdev->tconn);
index 2cf69b25f1e75e10a3211f63d5765c5bf59fb351..4c13a6f4f1848315e8add4a1f2706056aa4d76d6 100644 (file)
@@ -655,13 +655,6 @@ is_valid_transition(union drbd_state os, union drbd_state ns)
        if (ns.disk == D_FAILED && os.disk == D_DISKLESS)
                rv = SS_IS_DISKLESS;
 
-       /* if we are only D_ATTACHING yet,
-        * we can (and should) go directly to D_DISKLESS. */
-       if (ns.disk == D_FAILED && os.disk == D_ATTACHING) {
-               printk("TODO: FIX ME\n");
-               rv = SS_IS_DISKLESS;
-       }
-
        return rv;
 }