From: Sage Weil Date: Sun, 14 Feb 2010 04:29:31 +0000 (-0800) Subject: ceph: fix msgr to keep sent messages until acked X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=6c5d1a49e5e88ee831117f4b2375829933ad15da;p=deliverable%2Flinux.git ceph: fix msgr to keep sent messages until acked The test was backwards from commit b3d1dbbd: keep the message if the connection _isn't_ lossy. This allows the client to continue when the TCP connection drops for some reason (network glitch) but both ends survive. Signed-off-by: Sage Weil --- diff --git a/fs/ceph/messenger.c b/fs/ceph/messenger.c index c4341784ec8f..44bdaf439924 100644 --- a/fs/ceph/messenger.c +++ b/fs/ceph/messenger.c @@ -463,11 +463,11 @@ static void prepare_write_message(struct ceph_connection *con) struct ceph_msg, list_head); con->out_msg = m; if (test_bit(LOSSYTX, &con->state)) { + list_del_init(&m->list_head); + } else { /* 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);