libceph: drop gratuitous socket close calls in con_work

If the state is CLOSED or OPENING, we shouldn't have a socket.

Signed-off-by: Sage Weil <sage@inktank.com>
This commit is contained in:
Sage Weil
2012-07-20 15:40:04 -07:00
parent a59b55a602
commit 2e8cb10063

View File

@@ -2284,15 +2284,15 @@ restart:
dout("con_work %p STANDBY\n", con); dout("con_work %p STANDBY\n", con);
goto done; goto done;
} }
if (test_bit(CLOSED, &con->state)) { /* e.g. if we are replaced */ if (test_bit(CLOSED, &con->state)) {
dout("con_work CLOSED\n"); dout("con_work %p CLOSED\n", con);
con_close_socket(con); BUG_ON(con->sock);
goto done; goto done;
} }
if (test_and_clear_bit(OPENING, &con->state)) { if (test_and_clear_bit(OPENING, &con->state)) {
/* reopen w/ new peer */ /* reopen w/ new peer */
dout("con_work OPENING\n"); dout("con_work OPENING\n");
con_close_socket(con); BUG_ON(con->sock);
} }
ret = try_read(con); ret = try_read(con);