summaryrefslogtreecommitdiff
path: root/drivers/block/drbd/drbd_state.c
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2011-04-24 11:09:55 +0200
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 16:49:07 +0100
commita18e9d1eb0660621eb9911e59a9b4d664cbad4d9 (patch)
treedc05f7a19bc36f91b6463213e070ce4684966621 /drivers/block/drbd/drbd_state.c
parent0ace9dfabec3c1e96a1cd9fe0791ecbe6737c2f9 (diff)
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.c16
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)