For nofail == false  request, if __map_request failed, the caller do
cleanup work,like release the relative pages.It doesn't make any sense
to retry this request.So only give up it.

Signed-off-by: Jianpeng Ma <[email protected]>
---
 net/ceph/osd_client.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index dd47889..7d40a61 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -2129,7 +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;
        }
        if (req->r_osd == NULL) {
-- 
1.8.1.2

Reply via email to