ceph: don't save sent messages on lossy connections
For lossy connections we drop all state on socket errors, so there is no reason to keep sent ceph_msg's around. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
92ac41d0a4
commit
b3d1dbbdd5
@ -453,12 +453,16 @@ static void prepare_write_message(struct ceph_connection *con)
|
|||||||
con->out_kvec_bytes = 1 + sizeof(con->out_temp_ack);
|
con->out_kvec_bytes = 1 + sizeof(con->out_temp_ack);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* move message to sending/sent list */
|
|
||||||
m = list_first_entry(&con->out_queue,
|
m = list_first_entry(&con->out_queue,
|
||||||
struct ceph_msg, list_head);
|
struct ceph_msg, list_head);
|
||||||
con->out_msg = m;
|
con->out_msg = m;
|
||||||
ceph_msg_get(m);
|
if (test_bit(LOSSYTX, &con->state)) {
|
||||||
list_move_tail(&m->list_head, &con->out_sent);
|
/* put message on sent list */
|
||||||
|
ceph_msg_get(m);
|
||||||
|
list_move_tail(&m->list_head, &con->out_sent);
|
||||||
|
} else {
|
||||||
|
list_del_init(&m->list_head);
|
||||||
|
}
|
||||||
|
|
||||||
m->hdr.seq = cpu_to_le64(++con->out_seq);
|
m->hdr.seq = cpu_to_le64(++con->out_seq);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user