]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/segment_cleaner: fix journal seq leak issue 46614/head
authorXuehan Xu <xxhdx1985126@gmail.com>
Fri, 10 Jun 2022 03:31:31 +0000 (11:31 +0800)
committerXuehan Xu <xxhdx1985126@gmail.com>
Fri, 10 Jun 2022 03:31:31 +0000 (11:31 +0800)
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
src/crimson/os/seastore/segment_cleaner.cc

index c553f58d298af35a56985319650e938912fa64ad..a3c3d6bb04bd6e73295e571444b16c16cfe26461 100644 (file)
@@ -948,7 +948,8 @@ SegmentCleaner::gc_reclaim_space_ret SegmentCleaner::gc_reclaim_space()
                  return _retrieve_live_extents(
                    t, std::move(backrefs), extents);
                }).si_then([this, &seq, &t](auto nseq) {
-                 if (nseq != JOURNAL_SEQ_NULL && nseq > seq)
+                 if (nseq != JOURNAL_SEQ_NULL &&
+                     (nseq > seq || seq == JOURNAL_SEQ_NULL))
                    seq = nseq;
                  auto fut = BackrefManager::merge_cached_backrefs_iertr::now();
                  if (seq != JOURNAL_SEQ_NULL) {