]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: osd restart fixes
authorSage Weil <sage@newdream.net>
Tue, 1 Sep 2009 23:07:55 +0000 (16:07 -0700)
committerSage Weil <sage@newdream.net>
Tue, 1 Sep 2009 23:07:55 +0000 (16:07 -0700)
src/TODO
src/kernel/osd_client.c

index fc888c9bf0ea80f7e64864c2f5298ac0e891e749..2468c75ba72252c061dfd8c149a1651bd4d0a877 100644 (file)
--- 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
index 108f0b90c2ccba969cd38f79e7a937618f64499e..9832031a31367dc2a0ca7618fc3990e71ef033e2 100644 (file)
@@ -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: