[PATCH 056/104] libceph: unregister request in __map_request failed and nofail == false
Luis Henriques
luis.henriques at canonical.com
Mon Sep 30 10:10:33 UTC 2013
3.5.7.22 -stable review patch. If anyone has any objections, please let me know.
------------------
From: majianpeng <majianpeng at gmail.com>
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 <majianpeng at gmail.com>
Reviewed-by: Sage Weil <sage at inktank.com>
[ luis: backported to 3.5: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
net/ceph/osd_client.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index f181972..a90c575 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -1745,6 +1745,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;
}
--
1.8.3.2
More information about the kernel-team
mailing list