From 8a1e0ca106dc1ca7558ceb26ca2a1824c8ed37ba Mon Sep 17 00:00:00 2001 From: Philipp Reisner Date: Thu, 8 Nov 2012 15:04:36 +0100 Subject: [PATCH] --- yaml --- r: 346120 b: refs/heads/master c: 823bd832a60dcf4bf9c162112f34f2f1783d0eaa h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/block/drbd/drbd_receiver.c | 10 +++++----- trunk/drivers/block/drbd/drbd_state.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 2e59edbbf70e..2bd89f70e011 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7d4c782cbda4af0d7dc39cb8e7d50a927781aa1f +refs/heads/master: 823bd832a60dcf4bf9c162112f34f2f1783d0eaa diff --git a/trunk/drivers/block/drbd/drbd_receiver.c b/trunk/drivers/block/drbd/drbd_receiver.c index 8d5212194806..fff55657e0da 100644 --- a/trunk/drivers/block/drbd/drbd_receiver.c +++ b/trunk/drivers/block/drbd/drbd_receiver.c @@ -987,14 +987,9 @@ static int conn_connect(struct drbd_tconn *tconn) } } - if (conn_request_state(tconn, NS(conn, C_WF_REPORT_PARAMS), CS_VERBOSE) < SS_SUCCESS) - return 0; - sock->sk->sk_sndtimeo = timeout; sock->sk->sk_rcvtimeo = MAX_SCHEDULE_TIMEOUT; - drbd_thread_start(&tconn->asender); - if (drbd_send_protocol(tconn) == -EOPNOTSUPP) return -1; @@ -1008,6 +1003,11 @@ static int conn_connect(struct drbd_tconn *tconn) } rcu_read_unlock(); + if (conn_request_state(tconn, NS(conn, C_WF_REPORT_PARAMS), CS_VERBOSE) < SS_SUCCESS) + return 0; + + drbd_thread_start(&tconn->asender); + return h; out_release_sockets: diff --git a/trunk/drivers/block/drbd/drbd_state.c b/trunk/drivers/block/drbd/drbd_state.c index 1132d87fa284..ecc5e2761668 100644 --- a/trunk/drivers/block/drbd/drbd_state.c +++ b/trunk/drivers/block/drbd/drbd_state.c @@ -1055,7 +1055,7 @@ __drbd_set_state(struct drbd_conf *mdev, union drbd_state ns, drbd_thread_stop_nowait(&mdev->tconn->receiver); /* Upon network failure, we need to restart the receiver. */ - if (os.conn > C_TEAR_DOWN && + if (os.conn > C_WF_CONNECTION && ns.conn <= C_TEAR_DOWN && ns.conn >= C_TIMEOUT) drbd_thread_restart_nowait(&mdev->tconn->receiver);