libceph: don't time out osd requests that haven't been received
authorSage Weil <sage@newdream.net>
Tue, 26 Jul 2011 18:27:24 +0000 (11:27 -0700)
committerSage Weil <sage@newdream.net>
Tue, 26 Jul 2011 18:27:24 +0000 (11:27 -0700)
commit4cf9d544631c92809cb94ea680c71df56e9437aa
tree419e162dfb25e69ef1a89c56a318ad322cf21053
parent8f04d42276048b3baff5a5d8fa769f433c62b63e
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>
include/linux/ceph/messenger.h
net/ceph/messenger.c
net/ceph/osd_client.c