ceph: reset msgr backoff during open, not after successful handshake
authorSage Weil <sage@newdream.net>
Fri, 20 Nov 2009 23:14:15 +0000 (15:14 -0800)
committerSage Weil <sage@newdream.net>
Fri, 20 Nov 2009 23:14:15 +0000 (15:14 -0800)
Reset the backoff delay when we reopen the connection, so that the delays
for any initial connection problems are reasonable.  We were resetting only
after a successful handshake, which was of limited utility.

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

index 0b1674854b25f950c73e2b78ec57d87319ef3cc7..45cec31fdf5e4f82e3aea1d77234f6db9594756f 100644 (file)
@@ -348,6 +348,7 @@ void ceph_con_open(struct ceph_connection *con, struct ceph_entity_addr *addr)
        set_bit(OPENING, &con->state);
        clear_bit(CLOSED, &con->state);
        memcpy(&con->peer_addr, addr, sizeof(*addr));
+       con->delay = 0;      /* reset backoff memory */
        queue_con(con);
 }
 
@@ -1162,8 +1163,6 @@ static int process_connect(struct ceph_connection *con)
                     con->connect_seq);
                WARN_ON(con->connect_seq !=
                        le32_to_cpu(con->in_reply.connect_seq));
-
-               con->delay = 0;  /* reset backoff memory */
                prepare_read_tag(con);
                break;