]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: handle all the updated keys in OSD::maybe_override_options_for_qos 67126/head
authorGarry Drankovich <garry.drankovich@clyso.com>
Thu, 29 Jan 2026 19:41:51 +0000 (22:41 +0300)
committerGarry Drankovich <garry.drankovich@clyso.com>
Fri, 30 Jan 2026 17:48:52 +0000 (20:48 +0300)
commit57cc9216519f02b063ffcfbd04a376ebe492f907
treec712e282ddddf274651fbfc53a47576d0dacadbd
parentc743821fba4c7d4d10b2fc12facd975b6fd18c55
osd: handle all the updated keys in OSD::maybe_override_options_for_qos

Up to now the first matching key from the changeset has been taken into
account only. Which is wrong as multiple relevant keys might be present
in it.
The primary issue with such a handling is a case when the first config
parameter update takes place. The received changset contains a bunch of
keys in this case and incorrect/incomplete processing might occur.
E.g. as a side effect this could fail TEST_recovery_limit_adjustment_mclock
from standalone/osd/mclock-config when mclock's OSD benchmark results
are out of expected range (e.g. when run on SSD drive) and hence there
 is no update for 'max_capacity_iops_config' config parameter. The
following update triggered from the test case isn't handled properly
then. Hence failing it.

This patch implements iteration over all the keys from the changeset and
does proper processing for all of them matching the patterns.

Fixes: https://tracker.ceph.com/issues/74678
Signed-off-by: Garry Drankovich <garry.drankovich@clyso.com>
src/osd/OSD.cc