diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2011-07-01 19:00:57 +0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-11-08 19:57:50 +0400 |
commit | 9510b2411d365133ed6990d0bcb42be5876bdb66 (patch) | |
tree | aad11c06048ab7958cc4d0c66d6cf5fca3aed9cd /drivers/block/drbd | |
parent | 2ffca4f3ee6c2d507c39689e5f569bcb0612d3ad (diff) | |
download | linux-9510b2411d365133ed6990d0bcb42be5876bdb66.tar.xz |
drbd: Fixed state transitions in case reading meta data failes
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd')
-rw-r--r-- | drivers/block/drbd/drbd_nl.c | 2 | ||||
-rw-r--r-- | drivers/block/drbd/drbd_state.c | 7 |
2 files changed, 1 insertions, 8 deletions
diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index 838c3cd54cdd..97d1dab045d2 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -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); diff --git a/drivers/block/drbd/drbd_state.c b/drivers/block/drbd/drbd_state.c index 2cf69b25f1e7..4c13a6f4f184 100644 --- a/drivers/block/drbd/drbd_state.c +++ b/drivers/block/drbd/drbd_state.c @@ -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; } |