ceph: fix seq counting for skipped messages
authorSage Weil <sage@newdream.net>
Thu, 22 Apr 2010 03:45:59 +0000 (20:45 -0700)
committerSage Weil <sage@newdream.net>
Mon, 3 May 2010 17:49:24 +0000 (10:49 -0700)
Increment in_seq even when the message is skipped for some reason.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/messenger.c

index cdaaa131add314fcfc7471127b2ef55c0f68f2c0..e7b91e093f54e0764732fe9f9356f572b2b9232e 100644 (file)
@@ -1379,6 +1379,7 @@ static int read_partial_message(struct ceph_connection *con)
                        con->in_base_pos = -front_len - middle_len - data_len -
                                sizeof(m->footer);
                        con->in_tag = CEPH_MSGR_TAG_READY;
+                       con->in_seq++;
                        return 0;
                }
                if (IS_ERR(con->in_msg)) {
@@ -2030,6 +2031,7 @@ void ceph_con_revoke_message(struct ceph_connection *con, struct ceph_msg *msg)
                ceph_msg_put(con->in_msg);
                con->in_msg = NULL;
                con->in_tag = CEPH_MSGR_TAG_READY;
+               con->in_seq++;
        } else {
                dout("con_revoke_pages %p msg %p pages %p no-op\n",
                     con, con->in_msg, msg);