From 9089f5c3ce94f6cf7161ff1a7191334765052255 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Mon, 27 Jul 2020 21:14:18 -0400 Subject: [PATCH] librbd: update hidden global config when setting pool config override The new "dev"-level global config setting will be updated when any pool-level config override is updated. librbd clients will detect the new global-level config update and trigger a refresh. This avoids the need for potentially tens of thousands of librbd clients registering a watch on the pool metadata object or periodically polling the pool metadata object for updates. Fixes: https://tracker.ceph.com/issues/46694 Signed-off-by: Jason Dillaman (cherry picked from commit f45df9fe786e8057c491c082e840483759d67e9e) Conflicts: src/common/options.cc - "rbd_quiesce_notification_attempts", "rbd_default_snapshot_quiesce_mode", and "rbd_plugins" options have not been backported to Octopus, yet (cherry picked from commit ea2dec49276c5ea79980d184d97b6a410ee1dec5) Conflicts: src/common/options.cc: trivial resolution --- src/common/options.cc | 6 +++++ src/librbd/api/Config.cc | 3 ++- src/librbd/api/PoolMetadata.cc | 24 +++++++++++++++++++ .../librados_test_stub/TestRadosClient.cc | 2 ++ 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/common/options.cc b/src/common/options.cc index af30d23f156..ff97bd5d0db 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -7586,6 +7586,12 @@ static std::vector