]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon: mkfs compatset may be different from runtime compatset
authorJoao Eduardo Luis <joao@redhat.com>
Thu, 4 Dec 2014 18:34:23 +0000 (18:34 +0000)
committerJoao Eduardo Luis <joao@redhat.com>
Fri, 16 Jan 2015 16:33:51 +0000 (16:33 +0000)
commit0a369b9bb266a29fa0ca7a19caf9ab36150b2c6b
treea3c7b57b3f88c1c7ca7ea8851974db7fa2d8b85a
parentd4a64474e53ce7c9472feac530ca94ccf616fbcc
mon: mkfs compatset may be different from runtime compatset

When we create a monitor we set a given number of compat features on
disk to clearly state the features a given monitor supports -- mostly to
break backward compatibility when such compatibility cannot be
guaranteed.

However, we may wish to toggle some features during runtime; e.g., wait
for all the monitors in the quorum to support a given feature before
flipping a switch and state that all monitors now require feature X.

We are already flipping those switches during runtime, but we weren't
allowing the monitor to set a subset of those features during mkfs.
While the initial approach worked fine with clusters being upgraded and
fresh clusters, it could become weird in a mixed-version environment.

Backport: emperor,firefly,giant

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
src/mon/Monitor.cc
src/mon/Monitor.h