From 9710d0ea6fa96721e8d479ae09fef577126c62ed Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Thu, 18 Mar 2021 15:21:57 -0700 Subject: [PATCH] crimson/os/seastore/cache: stop at any newly dirty extents in get_next_dirty_extents Any extent with dirty_from == journal_seq_t() is in the process of being dirtied for the first time and hasn't had dirty_from filled in yet. As such, its dirty_from will end up being after the current journal_head. Signed-off-by: Samuel Just --- src/crimson/os/seastore/cache.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crimson/os/seastore/cache.cc b/src/crimson/os/seastore/cache.cc index 619971bf2bb..c48ab73df8c 100644 --- a/src/crimson/os/seastore/cache.cc +++ b/src/crimson/os/seastore/cache.cc @@ -452,7 +452,7 @@ Cache::get_next_dirty_extents_ret Cache::get_next_dirty_extents( std::vector ret; for (auto i = dirty.begin(); i != dirty.end(); ++i) { CachedExtentRef cand; - if (i->dirty_from < seq) { + if (i->dirty_from != journal_seq_t() && i->dirty_from < seq) { logger().debug( "Cache::get_next_dirty_extents: next {}", *i); -- 2.39.5