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.karo-electronics.de/?a=commitdiff_plain;h=73d9f7eef3d98c3920e144797cc1894c6b005a1e;p=linux-beck.git libceph: unregister request in __map_request failed and nofail == false 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. CC: stable@vger.kernel.org Signed-off-by: Jianpeng Ma Reviewed-by: Sage Weil --- diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index dd47889adc4a..dbc0a7392d67 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -2129,6 +2129,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; }