summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-04-21 20:45:59 -0700
committerSage Weil <sage@newdream.net>2010-05-03 10:49:24 -0700
commit684be25c52a1e43638ced160be0b0b46596e7f2b (patch)
treec6cde28f26e12f1ef33990a6d8cb10ab975dddba /fs
parentd45d0d970f495e04a4e4f46acd74e90f4a4564f9 (diff)
downloadlinux-3.10-684be25c52a1e43638ced160be0b0b46596e7f2b.tar.gz
linux-3.10-684be25c52a1e43638ced160be0b0b46596e7f2b.tar.bz2
linux-3.10-684be25c52a1e43638ced160be0b0b46596e7f2b.zip
ceph: fix seq counting for skipped messages
Increment in_seq even when the message is skipped for some reason. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs')
-rw-r--r--fs/ceph/messenger.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/messenger.c b/fs/ceph/messenger.c
index cdaaa131add..e7b91e093f5 100644
--- a/fs/ceph/messenger.c
+++ b/fs/ceph/messenger.c
@@ -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);