From 3f494b79d6d3a9d5ddd5d62de62c3637fdfb9381 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Thu, 23 Jun 2022 17:26:01 +0800 Subject: [PATCH] crimson/os/seastore/segment_cleaner: trim backrefs first Signed-off-by: Xuehan Xu --- src/crimson/os/seastore/async_cleaner.cc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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( -- 2.39.5