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 838c3cd..97d1dab 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 2cf69b2..4c13a6f 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;
 }