From: Sage Weil Date: Mon, 2 Mar 2009 22:16:46 +0000 (-0800) Subject: kclient: make sure we cleanup in all error paths X-Git-Tag: v0.7~81^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5f02f824abaea2b1934cd962ad6156698968c2ae;p=ceph.git kclient: make sure we cleanup in all error paths --- diff --git a/src/kernel/mon_client.c b/src/kernel/mon_client.c index 3b18c2d9e47a..08342b94c48b 100644 --- a/src/kernel/mon_client.c +++ b/src/kernel/mon_client.c @@ -360,9 +360,8 @@ int ceph_monc_do_statfs(struct ceph_mon_client *monc, struct ceph_statfs *buf) /* send request and wait */ err = send_statfs(monc, req.tid, 0); - if (err) - return err; - err = wait_for_completion_interruptible(&req.completion); + if (!err) + err = wait_for_completion_interruptible(&req.completion); mutex_lock(&monc->statfs_mutex); radix_tree_delete(&monc->statfs_request_tree, req.tid); @@ -371,9 +370,9 @@ int ceph_monc_do_statfs(struct ceph_mon_client *monc, struct ceph_statfs *buf) cancel_delayed_work(&monc->statfs_delayed_work); mutex_unlock(&monc->statfs_mutex); - if (err == -EINTR) - return err; - return req.result; + if (!err) + err = req.result; + return err; } /*