Hello, This is on top of wip-tunables3, which I posted a week ago and brings the support for the new osdmap encoding (OSDMAP_ENC feature bit), primary_temp and primary affinity (PRIMARY_AFFINITY feature bit) to the kernel client, along with some cleanups. PRIMARY_AFFINITY feature bit is shared with CRUSH_TUNABLES3, so wip-primary branch contains both this series and chooseleaf_vary_r stuff. - 01-16/33, 24-25/33 common ground + misc fixes and cleanups - 17-23/33 new osdmap encoding + infrastructure - 26-28/33, 32/33 refactor pg -> (osd set, primary) code paths - 29-31/33, 33/33 primary_temp and primary affinity logic Thanks, Ilya Ilya Dryomov (33): libceph: refer to osdmap directly in osdmap_show() libceph: do not prefix osd lines with \t in debugfs output libceph: dump pg_temp mappings to debugfs libceph: dump osdmap and enhance output on decode errors libceph: split osdmap allocation and decode steps libceph: fixup error handling in osdmap_decode() libceph: safely decode max_osd value in osdmap_decode() libceph: assert length of osdmap osd arrays libceph: fix crush_decode() call site in osdmap_decode() libceph: fixup error handling in osdmap_apply_incremental() libceph: nuke bogus encoding version check in osdmap_apply_incremental() libceph: fix and clarify ceph_decode_need() sizes libceph: rename __decode_pool{,_names}() to decode_pool{,_names}() libceph: introduce decode{,_new}_pools() and switch to them libceph: switch osdmap_set_max_osd() to krealloc() libceph: introduce decode{,_new}_pg_temp() and switch to them libceph: introduce get_osdmap_client_data_v() libceph: generalize ceph_pg_mapping libceph: primary_temp infrastructure libceph: primary_temp decode bits libceph: primary_affinity infrastructure libceph: primary_affinity decode bits libceph: enable OSDMAP_ENC feature bit libceph: ceph_osd_{exists,is_up,is_down}(osd) definitions libceph: ceph_can_shift_osds(pool) and pool type defines libceph: introduce pg_to_raw_osds() and raw_to_up_osds() helpers libceph: introduce apply_temps() helper libceph: switch ceph_calc_pg_acting() to new helpers libceph: return primary from ceph_calc_pg_acting() libceph: add support for primary_temp mappings libceph: add support for osd primary affinity libceph: redo ceph_calc_pg_primary() in terms of ceph_calc_pg_acting() libceph: enable PRIMARY_AFFINITY feature bit include/linux/ceph/ceph_features.h | 4 +- include/linux/ceph/osdmap.h | 47 +- include/linux/ceph/rados.h | 9 +- net/ceph/debugfs.c | 49 +- net/ceph/osd_client.c | 12 +- net/ceph/osdmap.c | 963 ++++++++++++++++++++++++++---------- 6 files changed, 797 insertions(+), 287 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