]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
mgr,mgr/MgrClient: use fsid to signal mon-mgr vs cli MCommands
authorSage Weil <sage@redhat.com>
Fri, 27 Sep 2019 21:01:44 +0000 (16:01 -0500)
committerSage Weil <sage@redhat.com>
Fri, 4 Oct 2019 14:07:03 +0000 (09:07 -0500)
commit6f35d2835268eade059535b62378d6d407ef9e87
treefdd2b6c803cef5038d9f290fb679339a27e56aa9
parent99f940641fb7e4fed1a04e415e48233ab0c79342
mgr,mgr/MgrClient: use fsid to signal mon-mgr vs cli MCommands

We can't use the feature bit for the MCommand connection to tell whether
it is a tell or CLI command because new clients may have to send CLI
commands via MCommand for old clusters, and they don't always know whether
this mgr is new or old yet.

Prior to octopus, MCommand contained a mon/mgr CLI command, and did not
have the fsid field set.  Start populating the fsid field, and use this
to signal whether a client is a new MgrClient that knows MCommand vs
MMgrCommand.  If we get an MCommand with the fsid set, that means it is
a tell command; otherwise, it's an old client sending a CLI command.

Signed-off-by: Sage Weil <sage@redhat.com>
src/librados/RadosClient.cc
src/mds/MDSDaemon.cc
src/messages/MMonCommand.h
src/mgr/DaemonServer.cc
src/mgr/MgrClient.cc
src/mgr/MgrClient.h
src/mgr/MgrStandby.cc
src/mon/Monitor.cc
src/osd/OSD.cc