| a52cc6857535 ("rbd: acquire header_rwsem just once in rbd_queue_workfn()") |
| 679a97d28627 ("rbd: kill img_request kref") |
| 21ed05a8bae7 ("rbd: pull rbd_img_request_create() dout out into the callers") |
| 637cd060537d ("rbd: new exclusive lock wait/wake code") |
| e1fddc8fdd22 ("rbd: quiescing lock should wait for image requests") |
| a2b1da09793d ("rbd: lock should be quiesced on reacquire") |
| 0192ce2ee68b ("rbd: introduce image request state machine") |
| 85b5e6d11898 ("rbd: move OSD request submission into object request state machines") |
| 0ad5d953548f ("rbd: get rid of RBD_OBJ_WRITE_{FLAT,GUARD}") |
| a9b67e69949d ("rbd: replace obj_req->tried_parent with obj_req->read_state") |
| 54ab3b24c536 ("rbd: get rid of obj_req->xferred, obj_req->result and img_req->xferred") |
| 9b17eb2ce102 ("rbd: whole-object write and zeroout should copyup when snapshots exist") |
| 89a59c1ca73b ("rbd: copyup with an empty snapshot context (aka deep-copyup)") |
| 3a482501cf70 ("rbd: introduce rbd_obj_issue_copyup_ops()") |
| 13488d53775b ("rbd: stop copying num_osd_ops in rbd_obj_issue_copyup()") |
| 356889c49d84 ("rbd: clear ->xferred on error from rbd_obj_issue_copyup()") |
| 0c93e1b7a26b ("rbd: round off and ignore discards that are too small") |
| 6484cbe987e0 ("rbd: handle DISCARD and WRITE_ZEROES separately") |
| fd7e3f0d8f25 ("rbd: get rid of obj_req->obj_request_count") |
| 26f887e0a3c4 ("libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls") |
| 39e58c3425b1 ("libceph: introduce alloc_watch_request()") |
| 81c65213d73c ("libceph: assign cookies in linger_submit()") |
| 24639ce56040 ("libceph: osd_req_op_cls_init() doesn't need to take opcode") |