Browse Source

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 <sage@newdream.net>
Sage Weil 15 years ago
parent
commit
6c5d1a49e5
1 changed files with 2 additions and 2 deletions
  1. 2 2
      fs/ceph/messenger.c

+ 2 - 2
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);