crimson/os/seastore/cache: backref buffer minor bug fix

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
This commit is contained in:
Xuehan Xu 2022-05-13 17:35:11 +08:00
parent b6f6246e9b
commit 0ad9c3ff8b

View File

@ -635,12 +635,11 @@ public:
void trim_backref_bufs(const journal_seq_t &trim_to) {
LOG_PREFIX(Cache::trim_backref_bufs);
SUBDEBUG(seastore_cache, "trimming to {}", trim_to);
if (backref_buffer) {
if (backref_buffer && !backref_buffer->backrefs.empty()) {
assert(backref_buffer->backrefs.rbegin()->first >= trim_to);
auto iter = backref_buffer->backrefs.upper_bound(trim_to);
SUBDEBUG(seastore_cache, "trim backref buffer up to {}", iter->first);
backref_buffer->backrefs.erase(
backref_buffer->backrefs.begin(), iter);
backref_buffer->backrefs.begin(), iter);
}
}