Hello, This adds support for replica reads (balanced and localized reads) to rbd and ceph. crush_location syntax is slightly different, see patch 3 for details. Thanks, Ilya Ilya Dryomov (5): libceph: add non-asserting rbtree insertion helper libceph: decode CRUSH device/bucket types and names libceph: crush_location infrastructure libceph: support for balanced and localized reads libceph: read_policy option include/linux/ceph/libceph.h | 13 +- include/linux/ceph/osd_client.h | 1 + include/linux/ceph/osdmap.h | 19 +- include/linux/crush/crush.h | 6 + net/ceph/ceph_common.c | 51 +++++ net/ceph/crush/crush.c | 3 + net/ceph/debugfs.c | 6 +- net/ceph/osd_client.c | 92 +++++++- net/ceph/osdmap.c | 361 +++++++++++++++++++++++++++----- 9 files changed, 491 insertions(+), 61 deletions(-) -- 2.19.2