Hi, This series is the result of hunting down and fixing #6628. The core patches are: 7/14 libceph: unregister only registered linger requests 10/14 rbd: rbd_obj_request_wait() should cancel the request if interrupted 12/14 rbd: use rbd_obj_watch_request_helper() helper 14/14 libceph: drop osd ref when canceling con work The rest are cleanups and miscellaneous fixes. wip-remove-osd-6628 has been force-pushed. Thanks, Ilya Ilya Dryomov (14): libceph: rename ceph_osd_request::r_linger_osd to r_linger_osd_item libceph: add maybe_move_osd_to_lru() and switch to it libceph: move and add dout()s to ceph_msg_{get,put}() libceph: move and add dout()s to ceph_osdc_request_{get,put}() libceph: harden ceph_osdc_request_release() a bit libceph: assert both regular and lingering lists in __remove_osd() libceph: unregister only registered linger requests libceph: fix linger request check in __unregister_request() libceph: introduce ceph_osdc_cancel_request() rbd: rbd_obj_request_wait() should cancel the request if interrupted rbd: add rbd_obj_watch_request_helper() helper rbd: use rbd_obj_watch_request_helper() helper libceph: nuke ceph_osdc_unregister_linger_request() libceph: drop osd ref when canceling con work drivers/block/rbd.c | 191 ++++++++++++++++++--------------------- include/linux/ceph/messenger.h | 14 +-- include/linux/ceph/osd_client.h | 18 +--- net/ceph/messenger.c | 45 ++++++--- net/ceph/osd_client.c | 129 +++++++++++++++++--------- 5 files changed, 217 insertions(+), 180 deletions(-) -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html