aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-10-09 13:29:18 -0400
committerSage Weil <sage@newdream.net>2009-10-09 14:58:15 -0400
commit81b024e70fed635a2cf5a4bf911db1649bb005f5 (patch)
tree67c949621bc90cf2cd2651992e11afb35d87724b
parent991abb6ecfc8edf9863aa6a3f43249e63f9d4d4e (diff)
ceph: reset osd session on fault, not peer_reset
The peer_reset just takes longer (until we reconnect and discover the osd dropped the session... which it will). Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r--fs/ceph/osd_client.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c
index 0aea8afaa07..4a8b4f08d4a 100644
--- a/fs/ceph/osd_client.c
+++ b/fs/ceph/osd_client.c
@@ -294,10 +294,7 @@ __lookup_request_ge(struct ceph_osd_client *osdc,
294 294
295 295
296/* 296/*
297 * The messaging layer will reconnect to the osd as needed. If the 297 * If the osd connection drops, we need to resubmit all requests.
298 * session has dropped, the OSD will have dropped the session state,
299 * and we'll get notified by the messaging layer. If that happens, we
300 * need to resubmit all requests for that osd.
301 */ 298 */
302static void osd_reset(struct ceph_connection *con) 299static void osd_reset(struct ceph_connection *con)
303{ 300{
@@ -1301,7 +1298,7 @@ const static struct ceph_connection_operations osd_con_ops = {
1301 .put = put_osd_con, 1298 .put = put_osd_con,
1302 .dispatch = dispatch, 1299 .dispatch = dispatch,
1303 .alloc_msg = alloc_msg, 1300 .alloc_msg = alloc_msg,
1304 .peer_reset = osd_reset, 1301 .fault = osd_reset,
1305 .alloc_middle = ceph_alloc_middle, 1302 .alloc_middle = ceph_alloc_middle,
1306 .prepare_pages = prepare_pages, 1303 .prepare_pages = prepare_pages,
1307}; 1304};