Skip to content

Commit 43d7864

Browse files
committed
os/bluestore:fix bluestore_volume_selection_reserved_factor usage
Fixes: https://tracker.ceph.com/issues/71368 Signed-off-by: Igor Fedotov <[email protected]>
1 parent 56d7e88 commit 43d7864

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/os/bluestore/BlueStore.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4508,20 +4508,18 @@ class RocksDBBlueFSVolumeSelector : public BlueFSVolumeSelector
45084508
level_multiplier = _level_multiplier;
45094509
uint64_t prev_levels = _level0_size;
45104510
uint64_t cur_level = _level_base;
4511-
uint64_t cur_threshold = prev_levels + cur_level;
45124511
extra_level = 1;
45134512
do {
45144513
uint64_t next_level = cur_level * _level_multiplier;
45154514
uint64_t next_threshold = prev_levels + cur_level + next_level;
45164515
++extra_level;
45174516
if (_db_total <= next_threshold) {
4518-
cur_threshold *= reserved_factor;
4517+
uint64_t cur_threshold = prev_levels + cur_level * reserved_factor;
45194518
db_avail4slow = cur_threshold < _db_total ? _db_total - cur_threshold : 0;
45204519
break;
45214520
} else {
45224521
prev_levels += cur_level;
45234522
cur_level = next_level;
4524-
cur_threshold = next_threshold;
45254523
}
45264524
} while (true);
45274525
} else {
@@ -4530,6 +4528,12 @@ class RocksDBBlueFSVolumeSelector : public BlueFSVolumeSelector
45304528
}
45314529
}
45324530

4531+
uint64_t get_available_extra() const {
4532+
return db_avail4slow;
4533+
}
4534+
uint64_t get_extra_level() const {
4535+
return extra_level;
4536+
}
45334537
void* get_hint_for_log() const override {
45344538
return reinterpret_cast<void*>(LEVEL_LOG);
45354539
}

0 commit comments

Comments
 (0)