]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: always hit r_safe_callback, even if no callback
authorSage Weil <sage@newdream.net>
Wed, 18 Mar 2009 21:47:12 +0000 (14:47 -0700)
committerSage Weil <sage@newdream.net>
Wed, 18 Mar 2009 21:47:12 +0000 (14:47 -0700)
ceph_osdc_sync might be waiting on the request.

src/kernel/osd_client.c

index affe37993cc9dae6e878df2999eeb1a05f0fb89b..2932adbad3f64c9174579f28c0565f62a8055c07 100644 (file)
@@ -466,8 +466,9 @@ void ceph_osdc_handle_reply(struct ceph_osd_client *osdc, struct ceph_msg *msg)
        else
                complete(&req->r_completion);
 
-       if ((flags & CEPH_OSD_OP_ONDISK) && req->r_safe_callback) {
-               req->r_safe_callback(req);
+       if (flags & CEPH_OSD_OP_ONDISK) {
+               if (req->r_safe_callback)
+                       req->r_safe_callback(req);
                complete(&req->r_safe_completion);  /* fsync waiter */
        }