Re: [PATCH 00/20] rbd: support for object-map and fast-diff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ilya,

On 06/25/2019 10:40 PM, Ilya Dryomov wrote:
Hello,

This series adds support for object-map and fast-diff image features.
Patches 1 - 11 prepare object and image request state machines; patches
12 - 14 fix most of the shortcomings in our exclusive lock code, making
it suitable for guarding the object map; patches 15 - 18 take care of
the prerequisites and finally patches 19 - 20 implement object-map and
fast-diff.

Nice patchset. I did review and a testing for this patchset.

TEST:
with object-map enabled, I found a case failed: tasks/rbd_kernel.yaml.
It failed to rollback test_img while test_img is mapped.

Thanx

Thanks,

                 Ilya


Ilya Dryomov (20):
   rbd: get rid of obj_req->xferred, obj_req->result and img_req->xferred
   rbd: replace obj_req->tried_parent with obj_req->read_state
   rbd: get rid of RBD_OBJ_WRITE_{FLAT,GUARD}
   rbd: move OSD request submission into object request state machines
   rbd: introduce image request state machine
   rbd: introduce obj_req->osd_reqs list
   rbd: factor out rbd_osd_setup_copyup()
   rbd: factor out __rbd_osd_setup_discard_ops()
   rbd: move OSD request allocation into object request state machines
   rbd: rename rbd_obj_setup_*() to rbd_obj_init_*()
   rbd: introduce copyup state machine
   rbd: lock should be quiesced on reacquire
   rbd: quiescing lock should wait for image requests
   rbd: new exclusive lock wait/wake code
   libceph: bump CEPH_MSG_MAX_DATA_LEN (again)
   libceph: change ceph_osdc_call() to take page vector for response
   libceph: export osd_req_op_data() macro
   rbd: call rbd_dev_mapping_set() from rbd_dev_image_probe()
   rbd: support for object-map and fast-diff
   rbd: setallochint only if object doesn't exist

  drivers/block/rbd.c                  | 2433 ++++++++++++++++++--------
  drivers/block/rbd_types.h            |   10 +
  include/linux/ceph/cls_lock_client.h |    3 +
  include/linux/ceph/libceph.h         |    6 +-
  include/linux/ceph/osd_client.h      |   10 +-
  include/linux/ceph/striper.h         |    2 +
  net/ceph/cls_lock_client.c           |   47 +-
  net/ceph/osd_client.c                |   18 +-
  net/ceph/striper.c                   |   17 +
  9 files changed, 1817 insertions(+), 729 deletions(-)






[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux