From: Xuehan Xu Date: Thu, 23 Jun 2022 09:26:01 +0000 (+0800) Subject: crimson/os/seastore/segment_cleaner: trim backrefs first X-Git-Tag: v18.0.0~465^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3f494b79d6d3a9d5ddd5d62de62c3637fdfb9381;p=ceph.git crimson/os/seastore/segment_cleaner: trim backrefs first Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index e0d198be78f..a7be225f69f 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -815,14 +815,7 @@ AsyncCleaner::gc_cycle_ret AsyncCleaner::GCProcess::run() AsyncCleaner::gc_cycle_ret AsyncCleaner::do_gc_cycle() { - if (gc_should_trim_journal()) { - return gc_trim_journal( - ).handle_error( - crimson::ct_error::assert_all{ - "GCProcess::run encountered invalid error in gc_trim_journal" - } - ); - } else if (gc_should_trim_backref()) { + if (gc_should_trim_backref()) { return gc_trim_backref(get_backref_tail() ).safe_then([](auto) { return seastar::now(); @@ -831,6 +824,13 @@ AsyncCleaner::gc_cycle_ret AsyncCleaner::do_gc_cycle() "GCProcess::run encountered invalid error in gc_trim_backref" } ); + } else if (gc_should_trim_journal()) { + return gc_trim_journal( + ).handle_error( + crimson::ct_error::assert_all{ + "GCProcess::run encountered invalid error in gc_trim_journal" + } + ); } else if (gc_should_reclaim_space()) { return gc_reclaim_space( ).handle_error(