Re: [PATCH 00/32] Ilya's Fancy Striping

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

 



On 03/16/2018 07:37 AM, Alex Elder wrote:
> I e-mailed these patches to myself so I could review them via
> e-mail.  They are the patches described in this message about
> a month ago:

I promised Ilya I would finally review these while on a long plane
ride yesterday  I got through about a third of them so far.  Almost
everything is good, but I have problems with the macros used for
iterating over bios and biovs, and supplied some example code of
what I think is a better way.  Rather than wait until all of them
are reviewed I thought I should at least send out what I've done
so far.  I'll try to finish the rest this week (possibly today,
but no promises).

					-Alex

>     Subject: wip-fancy-striping in ceph/ceph-client
>     
>     Hello,
>     
>     I've pushed wip-fancy-striping with my striping v2 patches.  I didn't
>     want to patch bomb the list and opened a dummy PR for feedback:
>     
>         https://github.com/ceph/ceph-client/pull/19
>     
>     As this is a full striping v2 implementation with adjacent extent
>     merging and no limitations on parent layouts, the patch set is very
>     invasive -- it's basically a rewrite of the entire I/O path.  Any
>     review comments and testing cycles would be greatly appreciated!
>     
>     Thanks,
>     
>     		Ilya
> 
> 					-Alex
> 
> Ilya Dryomov (32):
>   rbd: set max_segment_size to UINT_MAX
>   libceph: eliminate overflows in ceph_calc_file_object_mapping()
>   libceph, ceph: change ceph_calc_file_object_mapping() signature
>   rbd: start enums at 1 instead of 0
>   libceph, rbd: new bio handling code (aka don't clone bios)
>   rbd: remove bio cloning helpers
>   rbd: don't (ab)use obj_req->pages for stat requests
>   rbd: get rid of img_req->copyup_pages
>   libceph: introduce BVECS data type
>   rbd: move from raw pages to bvec data descriptors
>   libceph: handle zero-length data items
>   rbd: new request handling code
>   rbd: remove old request handling code
>   rbd: simplify rbd_osd_req_create()
>   rbd: add img_req->op_type field
>   rbd: update rbd_img_request_submit() signature
>   rbd: new request completion code
>   rbd: remove old request completion code
>   rbd: remove obj_req->flags field
>   rbd: store data_type in img_req instead of obj_req
>   libceph: striping framework implementation
>   libceph, ceph: move ceph_calc_file_object_mapping() to striper.c
>   rbd: incorporate ceph_object_extent
>   rbd: move to obj_req->img_extents
>   rbd: create+truncate for whole-object layered discards
>   rbd: switch to common striping framework
>   rbd: remove rbd_img_request_fill() and helpers
>   rbd: get rid of img_req->{offset,length}
>   rbd: remove rbd_parent_request_{create,destroy}()
>   rbd: introduce OWN_BVECS data type
>   rbd: adjust queue limits for "fancy" striping
>   rbd: allow "fancy" striping
> 
>  drivers/block/rbd.c             | 2538 ++++++++++++++++-----------------------
>  fs/ceph/addr.c                  |   17 +-
>  fs/ceph/ioctl.c                 |   13 +-
>  include/linux/ceph/messenger.h  |  101 +-
>  include/linux/ceph/osd_client.h |   18 +-
>  include/linux/ceph/osdmap.h     |    6 -
>  include/linux/ceph/striper.h    |   69 ++
>  net/ceph/Makefile               |    1 +
>  net/ceph/messenger.c            |  190 +--
>  net/ceph/osd_client.c           |   62 +-
>  net/ceph/osdmap.c               |   71 --
>  net/ceph/striper.c              |  261 ++++
>  12 files changed, 1635 insertions(+), 1712 deletions(-)
>  create mode 100644 include/linux/ceph/striper.h
>  create mode 100644 net/ceph/striper.c
> 

--
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



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