From 5cbc22c4022ed85c1cc45ea69a6f9db61c455eb0 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 15 Feb 2010 12:11:51 -0800 Subject: [PATCH] --- yaml --- r: 188709 b: refs/heads/master c: 153a008bf7915ea9127341409170cb197d111282 h: refs/heads/master i: 188707: b4ab6d5836cff74fc5997386be9d0b295aa65c7a v: v3 --- [refs] | 2 +- trunk/fs/ceph/osd_client.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index e65e02328180..402d0369c42b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6c5d1a49e5e88ee831117f4b2375829933ad15da +refs/heads/master: 153a008bf7915ea9127341409170cb197d111282 diff --git a/trunk/fs/ceph/osd_client.c b/trunk/fs/ceph/osd_client.c index 7f8a26fdcc2c..fa0f73703954 100644 --- a/trunk/fs/ceph/osd_client.c +++ b/trunk/fs/ceph/osd_client.c @@ -369,7 +369,6 @@ static void osd_reset(struct ceph_connection *con) return; dout("osd_reset osd%d\n", osd->o_osd); osdc = osd->o_osdc; - osd->o_incarnation++; down_read(&osdc->map_sem); kick_requests(osdc, osd); up_read(&osdc->map_sem); @@ -921,7 +920,9 @@ static void kick_requests(struct ceph_osd_client *osdc, dout("kick_requests osd%d\n", kickosd ? kickosd->o_osd : -1); mutex_lock(&osdc->request_mutex); - if (!kickosd) { + if (kickosd) { + __reset_osd(osdc, kickosd); + } else { for (p = rb_first(&osdc->osds); p; p = n) { struct ceph_osd *osd = rb_entry(p, struct ceph_osd, o_node);