diff options
author | majianpeng <majianpeng@gmail.com> | 2013-07-16 03:45:48 -0400 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-09 20:52:06 -0400 |
commit | 73d9f7eef3d98c3920e144797cc1894c6b005a1e (patch) | |
tree | b8c05e119c7047d32b2875fa21f6074f7bba283b | |
parent | 494ddd11be3e2621096bb425eed2886f8e8446d4 (diff) |
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 <majianpeng@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | net/ceph/osd_client.c | 2 |
1 files changed, 2 insertions, 0 deletions
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, | |||
2129 | dout("osdc_start_request failed map, " | 2129 | dout("osdc_start_request failed map, " |
2130 | " will retry %lld\n", req->r_tid); | 2130 | " will retry %lld\n", req->r_tid); |
2131 | rc = 0; | 2131 | rc = 0; |
2132 | } else { | ||
2133 | __unregister_request(osdc, req); | ||
2132 | } | 2134 | } |
2133 | goto out_unlock; | 2135 | goto out_unlock; |
2134 | } | 2136 | } |