From 35e115403f35aa409ce9eae7695785cb1d00f5d4 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 29 Nov 2017 16:56:38 -0600 Subject: [PATCH] osd/PG: flush osr before listing scrub objects We need to make sure previous transactions are readable before we list objects. This avoids races like, say, - ecbackend rolls forward and removes a rollback object - bluestore delays the txn apply due to some prior op - scrub lists objects, sees rollback object it doesn't expect Signed-off-by: Sage Weil (cherry picked from commit dca1257ab13e7871f25ef1c8179e45c199b252f7) --- src/osd/PG.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 5ea286cdaa05e..ec3178103026d 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -4245,6 +4245,8 @@ int PG::build_scrub_map_chunk( map.valid_through = info.last_update; + osr->flush(); + // objects vector ls; vector rollback_obs; -- 2.39.5