linux/net/ceph
Ilya Dryomov a5cbd5fc22 libceph, ceph: get and handle cluster maps with addrvecs
In preparation for msgr2, make the cluster send us maps with addrvecs
including both LEGACY and MSGR2 addrs instead of a single LEGACY addr.
This means advertising support for SERVER_NAUTILUS and also some older
features: SERVER_MIMIC, MONENC and MONNAMES.

MONNAMES and MONENC are actually pre-argonaut, we just never updated
ceph_monmap_decode() for them.  Decoding is unconditional, see commit
23c625ce30 ("libceph: assume argonaut on the server side").

SERVER_MIMIC doesn't bear any meaning for the kernel client.

Since ceph_decode_entity_addrvec() is guarded by encoding version
checks (and in msgr2 case it is guarded implicitly by the fact that
server is speaking msgr2), we assume MSG_ADDR2 for it.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-12-14 23:21:50 +01:00
..
crush treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
armor.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
auth_none.c libceph: drop ac->ops->name field 2020-12-14 23:21:50 +01:00
auth_none.h ceph: fix whitespace 2018-08-02 21:33:21 +02:00
auth_x_protocol.h libceph, ceph: incorporate nautilus cephx changes 2020-12-14 23:21:50 +01:00
auth_x.c libceph: drop ac->ops->name field 2020-12-14 23:21:50 +01:00
auth_x.h ceph: fix whitespace 2018-08-02 21:33:21 +02:00
auth.c libceph: amend cephx init_protocol() and build_request() 2020-12-14 23:21:50 +01:00
buffer.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ceph_common.c libceph: move away from global osd_req_flags 2020-06-16 16:01:53 +02:00
ceph_hash.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ceph_strings.c libceph: amend cephx init_protocol() and build_request() 2020-12-14 23:21:50 +01:00
cls_lock_client.c rbd: support for object-map and fast-diff 2019-07-08 14:01:45 +02:00
crypto.c libceph: don't call crypto_free_sync_skcipher() on a NULL tfm 2019-08-28 12:33:46 +02:00
crypto.h libceph, ceph: incorporate nautilus cephx changes 2020-12-14 23:21:50 +01:00
debugfs.c libceph: dump class and method names on method calls 2020-08-03 11:03:01 +02:00
decode.c libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
Kconfig libceph: replace HTTP links with HTTPS ones 2020-08-03 11:05:26 +02:00
Makefile libceph: move msgr1 protocol implementation to its own file 2020-12-14 23:21:50 +01:00
messenger_v1.c libceph: move msgr1 protocol specific fields to its own struct 2020-12-14 23:21:50 +01:00
messenger.c libceph: move msgr1 protocol specific fields to its own struct 2020-12-14 23:21:50 +01:00
mon_client.c libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
msgpool.c libceph: preallocate message data items 2018-10-22 10:28:22 +02:00
osd_client.c libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
osdmap.c libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
pagelist.c libceph: introduce ceph_pagelist_alloc() 2018-10-22 10:28:21 +02:00
pagevec.c libceph: remove ceph_get_direct_page_vector() 2019-07-08 14:01:40 +02:00
snapshot.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 268 2019-06-05 17:30:29 +02:00
string_table.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
striper.c rbd: support for object-map and fast-diff 2019-07-08 14:01:45 +02:00