From: Sage Weil Date: Wed, 29 Nov 2017 22:56:38 +0000 (-0600) Subject: osd/PG: flush osr before listing scrub objects X-Git-Tag: v12.2.6~98^2~34 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=35e115403f35aa409ce9eae7695785cb1d00f5d4;p=ceph.git 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) --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 5ea286cdaa05..ec3178103026 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;