aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2012-06-20 22:53:53 -0400
committerSage Weil <sage@inktank.com>2012-07-06 00:14:19 -0400
commita8d00e3cdef4c1c4f194414b72b24cd995439a05 (patch)
tree26ba315db9d4b5caff1bd30125fe3edcbfb49937
parentabdaa6a849af1d63153682c11f5bbb22dacb1f6b (diff)
libceph: SOCK_CLOSED is a flag, not a state
The following commit changed it so SOCK_CLOSED bit was stored in a connection's new "flags" field rather than its "state" field. libceph: start separating connection flags from state commit 928443cd That bit is used in con_close_socket() to protect against setting an error message more than once in the socket event handler function. Unfortunately, the field being operated on in that function was not updated to be "flags" as it should have been. This fixes that error. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r--net/ceph/messenger.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index 3a4330371d88..39653944f21b 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -397,11 +397,11 @@ static int con_close_socket(struct ceph_connection *con)
397 dout("con_close_socket on %p sock %p\n", con, con->sock); 397 dout("con_close_socket on %p sock %p\n", con, con->sock);
398 if (!con->sock) 398 if (!con->sock)
399 return 0; 399 return 0;
400 set_bit(SOCK_CLOSED, &con->state); 400 set_bit(SOCK_CLOSED, &con->flags);
401 rc = con->sock->ops->shutdown(con->sock, SHUT_RDWR); 401 rc = con->sock->ops->shutdown(con->sock, SHUT_RDWR);
402 sock_release(con->sock); 402 sock_release(con->sock);
403 con->sock = NULL; 403 con->sock = NULL;
404 clear_bit(SOCK_CLOSED, &con->state); 404 clear_bit(SOCK_CLOSED, &con->flags);
405 con_sock_state_closed(con); 405 con_sock_state_closed(con);
406 return rc; 406 return rc;
407} 407}