libceph: fix msgr keepalive flag

There was some broken keepalive code using a dead variable. Shift to using
the proper bit flag.

Signed-off-by: Sage Weil <sage@newdream.net>

Sage Weil e76661d0 60bf8bf8

+4 -6
-1
include/linux/ceph/messenger.h
··· 161 161 struct list_head out_queue; 162 162 struct list_head out_sent; /* sending or sent but unacked */ 163 163 u64 out_seq; /* last message queued for send */ 164 - bool out_keepalive_pending; 165 164 166 165 u64 in_seq, in_seq_acked; /* last message received, acked */ 167 166
+4 -5
net/ceph/messenger.c
··· 336 336 ceph_msg_put(con->out_msg); 337 337 con->out_msg = NULL; 338 338 } 339 - con->out_keepalive_pending = false; 340 339 con->in_seq = 0; 341 340 con->in_seq_acked = 0; 342 341 } ··· 2018 2019 /* Requeue anything that hasn't been acked */ 2019 2020 list_splice_init(&con->out_sent, &con->out_queue); 2020 2021 2021 - /* If there are no messages in the queue, place the connection 2022 - * in a STANDBY state (i.e., don't try to reconnect just yet). */ 2023 - if (list_empty(&con->out_queue) && !con->out_keepalive_pending) { 2024 - dout("fault setting STANDBY\n"); 2022 + /* If there are no messages queued or keepalive pending, place 2023 + * the connection in a STANDBY state */ 2024 + if (list_empty(&con->out_queue) && 2025 + !test_bit(KEEPALIVE_PENDING, &con->state)) { 2025 2026 set_bit(STANDBY, &con->state); 2026 2027 } else { 2027 2028 /* retry after a delay. */