From: majianpeng Date: Tue, 16 Jul 2013 07:45:48 +0000 (+0800) Subject: libceph: unregister request in __map_request failed and nofail == false X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2ab0ad6af3a87818ea3525914be6779fca833801;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git libceph: unregister request in __map_request failed and nofail == false commit 73d9f7eef3d98c3920e144797cc1894c6b005a1e upstream. For nofail == false request, if __map_request failed, the caller does cleanup work, like releasing the relative pages. It doesn't make any sense to retry this request. Signed-off-by: Jianpeng Ma Reviewed-by: Sage Weil Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 3a246a6cab4..46ec7672ccc 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -2130,6 +2130,8 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc, dout("osdc_start_request failed map, " " will retry %lld\n", req->r_tid); rc = 0; + } else { + __unregister_request(osdc, req); } goto out_unlock; }