From a9d95640f116fcb66ded9a875a7f4a14b0516873 Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Wed, 20 Jun 2012 21:53:53 -0500 Subject: [PATCH] --- yaml --- r: 320295 b: refs/heads/master c: bb9e6bba5d8b85b631390f8dbe8a24ae1ff5b48a h: refs/heads/master i: 320293: 15fcfb6a0168ad76689e99de24382bf4368dce07 320291: 184808fc4a10e33009bffdbdce5eaecea6f37606 320287: a39c023d583e8256c98da6a4e81d7f5846a93347 v: v3 --- [refs] | 2 +- trunk/net/ceph/messenger.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index adcac926c5e8..d06ccb06d21b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 456ea46865787283088b23a8a7f69244513b95f0 +refs/heads/master: bb9e6bba5d8b85b631390f8dbe8a24ae1ff5b48a diff --git a/trunk/net/ceph/messenger.c b/trunk/net/ceph/messenger.c index cfcca1f5be67..beee382d784e 100644 --- a/trunk/net/ceph/messenger.c +++ b/trunk/net/ceph/messenger.c @@ -462,6 +462,7 @@ void ceph_con_close(struct ceph_connection *con) dout("con_close %p peer %s\n", con, ceph_pr_addr(&con->peer_addr.in_addr)); clear_bit(NEGOTIATING, &con->state); + clear_bit(CONNECTING, &con->state); clear_bit(STANDBY, &con->state); /* avoid connect_seq bump */ set_bit(CLOSED, &con->state); @@ -2189,7 +2190,7 @@ static void con_work(struct work_struct *work) mutex_lock(&con->mutex); restart: if (test_and_clear_bit(SOCK_CLOSED, &con->flags)) { - if (test_bit(CONNECTING, &con->state)) + if (test_and_clear_bit(CONNECTING, &con->state)) con->error_msg = "connection failed"; else con->error_msg = "socket closed";