libceph: drop gratuitous socket close calls in con_work
authorSage Weil <sage@inktank.com>
Fri, 20 Jul 2012 22:40:04 +0000 (15:40 -0700)
committerSage Weil <sage@inktank.com>
Tue, 31 Jul 2012 01:15:58 +0000 (18:15 -0700)
If the state is CLOSED or OPENING, we shouldn't have a socket.

Signed-off-by: Sage Weil <sage@inktank.com>
net/ceph/messenger.c

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