]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
common: fix md_config_cacher_t 61403/head
authorRonen Friedman <rfriedma@redhat.com>
Thu, 9 Jan 2025 17:06:37 +0000 (11:06 -0600)
committerRonen Friedman <rfriedma@redhat.com>
Wed, 15 Jan 2025 16:06:44 +0000 (10:06 -0600)
commit16a489335b6348be65cbe6d7853be3bed82a1050
tree192b80a46915cd462f3feca5486818a4adb1550e
parent8a122fae8547c61c9f4fd37c87e89fac461e3e71
common: fix md_config_cacher_t

In its get_tracked_conf_keys() member function, the
cacher (in the existing code) initializes a static
function-block variable ('keys'), and uses it for
registering the observer.

But the cacher is instantiated on the type of
the configuration value. Thus, multiple cacher
objects for which the configuration values are
of the same type - share the static 'keys'. Only
one of the observers is registered.

Note that the code could have been simplified
somewhat, if the signature of the
get_tracked_conf_keys() function
was changed to return 'const char* const *'.

Fixes: https://tracker.ceph.com/issues/69236
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
(cherry picked from commit 8ac04704574671e72de6f3ba30c1c3baa39a6319)
src/common/config_cacher.h