From: Samuel Just Date: Thu, 18 Mar 2021 22:21:57 +0000 (-0700) Subject: crimson/os/seastore/cache: stop at any newly dirty extents in get_next_dirty_extents X-Git-Tag: v17.1.0~2478^2~15 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9710d0ea6fa96721e8d479ae09fef577126c62ed;p=ceph.git 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 --- diff --git a/src/crimson/os/seastore/cache.cc b/src/crimson/os/seastore/cache.cc index 619971bf2bb9..c48ab73df8cd 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);