From 5901023c16d18f0135f1a66006d53ace6dc0446a Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 1 Sep 2009 16:07:55 -0700 Subject: [PATCH] kclient: osd restart fixes --- src/TODO | 2 ++ src/kernel/osd_client.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/TODO b/src/TODO index fc888c9bf0ea8..2468c75ba7225 100644 --- a/src/TODO +++ b/src/TODO @@ -79,6 +79,8 @@ repair kclient - fix up ESTALE handling +- allow struct ceph_msg revoke from a connection +- don't retry on ENOMEM on non-nofail requests in kick_requests - make cap import/export more efficient? - flock, fnctl locks - ACLs diff --git a/src/kernel/osd_client.c b/src/kernel/osd_client.c index 108f0b90c2ccb..9832031a31367 100644 --- a/src/kernel/osd_client.c +++ b/src/kernel/osd_client.c @@ -325,6 +325,7 @@ static void init_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd, int o) osd->o_osdc = osdc; osd->o_osd = o; INIT_LIST_HEAD(&osd->o_requests); + osd->o_con = NULL; } static void destroy_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd) @@ -523,7 +524,8 @@ static int __map_osds(struct ceph_osd_client *osdc, __insert_osd(osdc, req->r_osd); } - list_add(&req->r_osd_item, &req->r_osd->o_requests); + if (req->r_osd) + list_add(&req->r_osd_item, &req->r_osd->o_requests); err = 1; /* osd changed */ out: -- 2.39.5