]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
src/*: do not pass cct to ceph_version_to_str()
authorKefu Chai <kchai@redhat.com>
Thu, 10 Dec 2020 06:17:07 +0000 (14:17 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 10 Dec 2020 10:26:39 +0000 (18:26 +0800)
commit1f5406a752724b55b4fc6c1641d72e3d9c3ba74d
treefd3bfd554a8169b9d87ecb150d7af5f2ac07064a
parent8377ac8982c8d1263a62fdd0a82719da2c213bf1
src/*: do not pass cct to ceph_version_to_str()

in e5b1ae5554c4d8a20f9f0ff562b231ad0b0ba0ab, a new option named
"debug_version_for_testing" is introduced to override the version so
we can test version check.

in crimson, we have two families of shared functions.

- one of them is used by alien store. they are compiled with
  -DWITH_SEASTAR and -DWITH_ALIEN, to enable the shim code between
  seastar and POSIX thread.
- another is used by crimson in general. where no lock is allowed.

currently, we use the "crimson" and "ceph" namespace to differentiate
these two families of functions, so they can colocate in the same
executable without violating the ODR. see src/include/common_fwd.h for
more details.

the functions defined in src/common/version.cc are also shared by
alien store and crimson code. and because we have different
implementations of `CephContext` in crimson and in classic OSD (i.e.
alienstore), we have to have different implementations of this function
as well, if we follow the same approach. but since these functions are
very simple and are non-blocking, there is not much value in
differentiating them, it is better to inject the test settings using
environment variable instead of using ceph option subsystem.

in this change, "ceph_debug_version_for_testing" environment variable is
checked instead, so that crimson and alienstore can share the same
compilation unit of version.cc. and "debug_version_for_testing" option
is removed.

Signed-off-by: Kefu Chai <kchai@redhat.com>
qa/standalone/misc/ver-health.sh
src/common/admin_socket.cc
src/common/options.cc
src/common/util.cc
src/common/version.cc
src/common/version.h
src/crimson/admin/admin_socket.cc
src/global/signal_handler.cc
src/libcephfs.cc
src/mon/Monitor.cc
src/tools/immutable_object_cache/CacheClient.cc