diff --git a/[refs] b/[refs] index 402d0369c42b..9e6dd235a89f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 153a008bf7915ea9127341409170cb197d111282 +refs/heads/master: e2663ab60de59d20fa33da3528f6d5359f8eb003 diff --git a/trunk/fs/ceph/messenger.c b/trunk/fs/ceph/messenger.c index 44bdaf439924..acf383f6a9cd 100644 --- a/trunk/fs/ceph/messenger.c +++ b/trunk/fs/ceph/messenger.c @@ -1808,7 +1808,7 @@ static void con_work(struct work_struct *work) clear_bit(BUSY, &con->state); dout("con->state=%lu\n", con->state); if (test_bit(QUEUED, &con->state)) { - if (!backoff) { + if (!backoff || test_bit(OPENING, &con->state)) { dout("con_work %p QUEUED reset, looping\n", con); goto more; }