]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mon/OSDMonitor: encode canonical full osdmap based on osdmap flags
authorSage Weil <sage@redhat.com>
Fri, 30 Sep 2016 22:02:39 +0000 (18:02 -0400)
committerLoic Dachary <ldachary@redhat.com>
Fri, 4 Nov 2016 14:35:45 +0000 (15:35 +0100)
commit34555f11b068eb335866d4b536c9e10fe1de62e5
treeb711134132985e022793f9760ae4a14699b9f03f
parenteb672598ad8209dcb7b7454fea31f921d255af1f
mon/OSDMonitor: encode canonical full osdmap based on osdmap flags

If the JEWEL or KRAKEN flags aren't set, encode the full map without
those features.  This ensure that older OSDs in the cluster will be able
to correctly encode the full map with a matching CRC.  At least, that is
true as long as the encoding changes are guarded by those feature bits.
That appears to be true currently, and we plan to ensure that it is true
in the future as well.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 5e0daf6642011bf1222c4dc20aa284966fa5df9f)

Conflicts:
   src/mon/OSDMonitor.cc: removed reference to kraken

    if (!tmp.test_flag(CEPH_OSDMAP_REQUIRE_KRAKEN)) {
      dout(10) << __func__ << " encoding without feature SERVER_KRAKEN" << dendl;
      features &= ~CEPH_FEATURE_SERVER_KRAKEN;
    }
src/mon/OSDMonitor.cc