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 struct list_head out_queue; 162 struct list_head out_sent; /* sending or sent but unacked */ 163 u64 out_seq; /* last message queued for send */ 164 - bool out_keepalive_pending; 165 166 u64 in_seq, in_seq_acked; /* last message received, acked */ 167
··· 161 struct list_head out_queue; 162 struct list_head out_sent; /* sending or sent but unacked */ 163 u64 out_seq; /* last message queued for send */ 164 165 u64 in_seq, in_seq_acked; /* last message received, acked */ 166
+4 -5
net/ceph/messenger.c
··· 336 ceph_msg_put(con->out_msg); 337 con->out_msg = NULL; 338 } 339 - con->out_keepalive_pending = false; 340 con->in_seq = 0; 341 con->in_seq_acked = 0; 342 } ··· 2018 /* Requeue anything that hasn't been acked */ 2019 list_splice_init(&con->out_sent, &con->out_queue); 2020 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"); 2025 set_bit(STANDBY, &con->state); 2026 } else { 2027 /* retry after a delay. */
··· 336 ceph_msg_put(con->out_msg); 337 con->out_msg = NULL; 338 } 339 con->in_seq = 0; 340 con->in_seq_acked = 0; 341 } ··· 2019 /* Requeue anything that hasn't been acked */ 2020 list_splice_init(&con->out_sent, &con->out_queue); 2021 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)) { 2026 set_bit(STANDBY, &con->state); 2027 } else { 2028 /* retry after a delay. */