summaryrefslogtreecommitdiff
path: root/include/linux/ceph
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-07-26 22:27:24 +0400
committerSage Weil <sage@newdream.net>2011-07-26 22:27:24 +0400
commit4cf9d544631c92809cb94ea680c71df56e9437aa (patch)
tree419e162dfb25e69ef1a89c56a318ad322cf21053 /include/linux/ceph
parent8f04d42276048b3baff5a5d8fa769f433c62b63e (diff)
downloadlinux-4cf9d544631c92809cb94ea680c71df56e9437aa.tar.xz
libceph: don't time out osd requests that haven't been received
Keep track of when an outgoing message is ACKed (i.e., the server fully received it and, presumably, queued it for processing). Time out OSD requests only if it's been too long since they've been received. This prevents timeouts and connection thrashing when the OSDs are simply busy and are throttling the requests they read off the network. Reviewed-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'include/linux/ceph')
-rw-r--r--include/linux/ceph/messenger.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index 31d91a64838b..d7adf151d335 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -94,6 +94,7 @@ struct ceph_msg {
bool more_to_follow;
bool needs_out_seq;
int front_max;
+ unsigned long ack_stamp; /* tx: when we were acked */
struct ceph_msgpool *pool;
};