]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/ceph/osd_client.c
libceph: clear r_req_lru_item in __unregister_linger_request()
[karo-tx-linux.git] / net / ceph / osd_client.c
index f3fc54eac09d32e691a64b5d65ba90793cba96b8..decc3b74e65f453289d0b7b29c2fa8da1d784385 100644 (file)
@@ -1254,6 +1254,8 @@ static void __unregister_linger_request(struct ceph_osd_client *osdc,
                if (list_empty(&req->r_osd_item))
                        req->r_osd = NULL;
        }
+
+       list_del_init(&req->r_req_lru_item); /* can be on notarget */
        ceph_osdc_put_request(req);
 }
 
@@ -1395,6 +1397,7 @@ static int __map_request(struct ceph_osd_client *osdc,
        if (req->r_osd) {
                __cancel_request(req);
                list_del_init(&req->r_osd_item);
+               list_del_init(&req->r_linger_osd_item);
                req->r_osd = NULL;
        }