[RFC,0/9] ceph: add support for addr2 decoding
mbox series

Message ID 20190605131102.13529-1-jlayton@kernel.org
Headers show
  • ceph: add support for addr2 decoding
Related show


Jeff Layton June 5, 2019, 1:10 p.m. UTC
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