]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: add scrub_mdsdir to ScrubHeader
authordparmar18 <dparmar@redhat.com>
Fri, 27 Jan 2023 07:34:33 +0000 (13:04 +0530)
committerDhairya Parmar <dparmar@redhat.com>
Fri, 31 Mar 2023 10:14:12 +0000 (15:44 +0530)
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
(cherry picked from commit c85347fefb1b5a965a6640da9cb48d867642a295)

src/mds/MDCache.cc
src/mds/ScrubHeader.h

index c03d328d512aa6c14d7a824d652a93cf8b3c8a66..bb2f2c7d5a59b8ed36a6323b31fb3e5158291a6d 100644 (file)
@@ -12824,7 +12824,8 @@ void MDCache::enqueue_scrub(
     }
     cs = new C_MDS_EnqueueScrub(tag_str, f, fin);
   }
-  cs->header = std::make_shared<ScrubHeader>(tag_str, is_internal, force, recursive, repair);
+  cs->header = std::make_shared<ScrubHeader>(tag_str, is_internal, force,
+                                             recursive, repair, scrub_mdsdir);
 
   mdr->internal_op_finish = cs;
   enqueue_scrub_work(mdr);
index eb79090b0073c2f691725d5c3bd9c588b7f57a70..a5d35f61ce4281a63a9f87c37bae20e6f255ad2a 100644 (file)
@@ -35,9 +35,9 @@ class CInode;
 class ScrubHeader {
 public:
   ScrubHeader(std::string_view tag_, bool is_tag_internal_, bool force_,
-              bool recursive_, bool repair_)
+              bool recursive_, bool repair_, bool scrub_mdsdir_ = false)
     : tag(tag_), is_tag_internal(is_tag_internal_), force(force_),
-      recursive(recursive_), repair(repair_) {}
+      recursive(recursive_), repair(repair_), scrub_mdsdir(scrub_mdsdir_) {}
 
   // Set after construction because it won't be known until we've
   // started resolving path and locking
@@ -46,6 +46,7 @@ public:
   bool get_recursive() const { return recursive; }
   bool get_repair() const { return repair; }
   bool get_force() const { return force; }
+  bool get_scrub_mdsdir() const { return scrub_mdsdir; }
   bool is_internal_tag() const { return is_tag_internal; }
   inodeno_t get_origin() const { return origin; }
   const std::string& get_tag() const { return tag; }
@@ -69,6 +70,7 @@ protected:
   const bool force;
   const bool recursive;
   const bool repair;
+  const bool scrub_mdsdir;
   inodeno_t origin;
 
   bool repaired = false;  // May be set during scrub if repairs happened