From 01445d5c623d0628e66a252a22733de25bc4d70e Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Wed, 2 Apr 2014 10:11:02 -0700 Subject: [PATCH] ReplicatedPG::_scrub: don't bail early for snapdir Fixes: #7937 Signed-off-by: Samuel Just --- src/common/hobject.h | 5 +++++ src/osd/ReplicatedPG.cc | 15 ++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/common/hobject.h b/src/common/hobject.h index 293348356bbc..fc12c9f1c457 100644 --- a/src/common/hobject.h +++ b/src/common/hobject.h @@ -102,6 +102,11 @@ public: return ret; } + /// @return true if object is snapdir + bool is_snapdir() const { + return snap == CEPH_SNAPDIR; + } + /// @return true if object is head bool is_head() const { return snap == CEPH_NOSNAP; diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 8daeef90efda..23012e83b65b 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -11109,11 +11109,6 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap) } } } - if (soid.snap == CEPH_SNAPDIR) { - string cat; - scrub_cstat.add(stat, cat); - continue; - } // basic checks. if (p->second.attrs.count(OI_ATTR) == 0) { @@ -11140,10 +11135,12 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap) stat.num_bytes += oi.size; - if (oi.is_dirty()) - ++stat.num_objects_dirty; - if (oi.is_whiteout()) - ++stat.num_whiteouts; + if (!soid.is_snapdir()) { + if (oi.is_dirty()) + ++stat.num_objects_dirty; + if (oi.is_whiteout()) + ++stat.num_whiteouts; + } //bufferlist data; //osd->store->read(c, poid, 0, 0, data); -- 2.47.3