CEPH_FEATURE_MSG_ADDR2 was added to the userland code a couple of years ago, but the kclient never got support for it. This patchset adds that support. While addr2 doesn't add a lot of new functionality, it is a prerequisite for msgr2 support, which we will eventually need. Note that this set is not quite ready to go in just yet. A couple of other cephfs features share the same feature bit with addr2, and those patches aren't quite ready yet. I was able to do a cephfs mount and some basic filesystem operations with this series in place, but some of the more obscure messages haven't yet been tested. For now, I'm just posting this as an RFC to get some early feedback on this piece while I work on the cephfs feature support. Once that's ready I'll plan to merge this into the ceph-client/testing branch and we can see about getting the whole thing merged for v5.3. Jeff Layton (9): libceph: fix sa_family just after reading address libceph: add ceph_decode_entity_addr libceph: ADDR2 support for monmap libceph: switch osdmap decoding to use ceph_decode_entity_addr libceph: fix watch_item_t decoding to use ceph_decode_entity_addr libceph: correctly decode ADDR2 addresses in incremental OSD maps ceph: have MDS map decoding use entity_addr_t decoder ceph: fix decode_locker to use ceph_decode_entity_addr libceph: turn on CEPH_FEATURE_MSG_ADDR2 fs/ceph/mdsmap.c | 12 +++-- include/linux/ceph/ceph_features.h | 1 + include/linux/ceph/decode.h | 2 + include/linux/ceph/mon_client.h | 1 - net/ceph/Makefile | 2 +- net/ceph/cls_lock_client.c | 7 ++- net/ceph/decode.c | 75 ++++++++++++++++++++++++++++++ net/ceph/messenger.c | 5 +- net/ceph/mon_client.c | 21 +++++---- net/ceph/osd_client.c | 20 +++++--- net/ceph/osdmap.c | 31 ++++++------ 11 files changed, 138 insertions(+), 39 deletions(-) create mode 100644 net/ceph/decode.c -- 2.21.0