diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2011-04-24 11:09:55 +0200 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-11-08 16:49:07 +0100 |
commit | a18e9d1eb0660621eb9911e59a9b4d664cbad4d9 (patch) | |
tree | dc05f7a19bc36f91b6463213e070ce4684966621 /drivers/block/drbd/drbd_state.c | |
parent | drbd: Take a reference on tconn when finding a tconn by name (diff) | |
download | linux-a18e9d1eb0660621eb9911e59a9b4d664cbad4d9.tar.xz linux-a18e9d1eb0660621eb9911e59a9b4d664cbad4d9.zip |
drbd: Removed the OBJECT_DYING and the CONFIG_PENDING bits
superseded by refcounting
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_state.c')
-rw-r--r-- | drivers/block/drbd/drbd_state.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/drivers/block/drbd/drbd_state.c b/drivers/block/drbd/drbd_state.c index d7a330e0135f..05628b45cf03 100644 --- a/drivers/block/drbd/drbd_state.c +++ b/drivers/block/drbd/drbd_state.c @@ -926,18 +926,6 @@ __drbd_set_state(struct drbd_conf *mdev, union drbd_state ns, mdev->tconn->susp_nod = ns.susp_nod; mdev->tconn->susp_fen = ns.susp_fen; - /* solve the race between becoming unconfigured, - * worker doing the cleanup, and - * admin reconfiguring us: - * on (re)configure, first set CONFIG_PENDING, - * then wait for a potentially exiting worker, - * start the worker, and schedule one no_op. - * then proceed with configuration. - */ - if(conn_all_vols_unconf(mdev->tconn) && - !test_and_set_bit(CONFIG_PENDING, &mdev->tconn->flags)) - set_bit(OBJECT_DYING, &mdev->tconn->flags); - if (os.disk == D_ATTACHING && ns.disk >= D_NEGOTIATING) drbd_print_uuids(mdev, "attached to UUIDs"); @@ -1401,10 +1389,8 @@ struct after_conn_state_chg_work { static void after_all_state_ch(struct drbd_tconn *tconn) { - if (conn_all_vols_unconf(tconn) && - test_bit(OBJECT_DYING, &tconn->flags)) { + if (conn_all_vols_unconf(tconn)) drbd_thread_stop_nowait(&tconn->worker); - } } static int w_after_conn_state_ch(struct drbd_work *w, int unused) |