summaryrefslogtreecommitdiffstats
path: root/fs/ceph/messenger.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-05-12 06:20:38 +0200
committerSage Weil <sage@newdream.net>2010-05-12 06:20:38 +0200
commite84346b726ea90a8ed470bc81c4136a7b8710ea5 (patch)
tree99a90ef86d38a51e39ed69af318e6cfe32023879 /fs/ceph/messenger.h
parentceph: fix cap removal races (diff)
downloadlinux-e84346b726ea90a8ed470bc81c4136a7b8710ea5.tar.xz
linux-e84346b726ea90a8ed470bc81c4136a7b8710ea5.zip
ceph: preserve seq # on requeued messages after transient transport errors
If the tcp connection drops and we reconnect to reestablish a stateful session (with the mds), we need to resend previously sent (and possibly received) messages with the _same_ seq # so that they can be dropped on the other end if needed. Only assign a new seq once after the message is queued. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/messenger.h')
-rw-r--r--fs/ceph/messenger.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/messenger.h b/fs/ceph/messenger.h
index a343dae73cdc..a5caf91cc971 100644
--- a/fs/ceph/messenger.h
+++ b/fs/ceph/messenger.h
@@ -86,6 +86,7 @@ struct ceph_msg {
struct kref kref;
bool front_is_vmalloc;
bool more_to_follow;
+ bool needs_out_seq;
int front_max;
struct ceph_msgpool *pool;