]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/common/scrub_types.h
update sources to 12.2.8
[ceph.git] / ceph / src / common / scrub_types.h
index 39a265671c24d480a4df1f583c81b28b6fd5d9d8..bf8f94618f7fbaf9f9490b867ac6df8464fa4ff6 100644 (file)
@@ -45,14 +45,14 @@ public:
   void set_missing() {
     errors |= err_t::SHARD_MISSING;
   }
-  void set_omap_digest_mismatch_oi() {
-    errors |= err_t::OMAP_DIGEST_MISMATCH_OI;
+  void set_omap_digest_mismatch_info() {
+    errors |= err_t::OMAP_DIGEST_MISMATCH_INFO;
   }
-  void set_size_mismatch_oi() {
-    errors |= err_t::SIZE_MISMATCH_OI;
+  void set_size_mismatch_info() {
+    errors |= err_t::SIZE_MISMATCH_INFO;
   }
-  void set_data_digest_mismatch_oi() {
-    errors |= err_t::DATA_DIGEST_MISMATCH_OI;
+  void set_data_digest_mismatch_info() {
+    errors |= err_t::DATA_DIGEST_MISMATCH_INFO;
   }
   void set_read_error() {
     errors |= err_t::SHARD_READ_ERR;
@@ -66,17 +66,32 @@ public:
   void set_ec_size_mismatch() {
     errors |= err_t::SHARD_EC_SIZE_MISMATCH;
   }
-  void set_oi_attr_missing() {
-    errors |= err_t::OI_ATTR_MISSING;
+  void set_info_missing() {
+    errors |= err_t::INFO_MISSING;
   }
-  void set_oi_attr_corrupted() {
-    errors |= err_t::OI_ATTR_CORRUPTED;
+  void set_info_corrupted() {
+    errors |= err_t::INFO_CORRUPTED;
   }
-  void set_ss_attr_missing() {
-    errors |= err_t::SS_ATTR_MISSING;
+  void set_snapset_missing() {
+    errors |= err_t::SNAPSET_MISSING;
   }
-  void set_ss_attr_corrupted() {
-    errors |= err_t::SS_ATTR_CORRUPTED;
+  void set_snapset_corrupted() {
+    errors |= err_t::SNAPSET_CORRUPTED;
+  }
+  void set_obj_size_info_mismatch() {
+    errors |= err_t::OBJ_SIZE_INFO_MISMATCH;
+  }
+  void set_hinfo_missing() {
+    errors |= err_t::HINFO_MISSING;
+  }
+  void set_hinfo_corrupted() {
+    errors |= err_t::HINFO_CORRUPTED;
+  }
+  bool only_data_digest_mismatch_info() const {
+    return errors == err_t::DATA_DIGEST_MISMATCH_INFO;
+  }
+  void clear_data_digest_mismatch_info() {
+    errors &= ~err_t::DATA_DIGEST_MISMATCH_INFO;
   }
   void encode(bufferlist& bl) const;
   void decode(bufferlist::iterator& bp);
@@ -112,11 +127,18 @@ struct inconsistent_obj_wrapper : librados::inconsistent_obj_t {
   void set_attr_name_mismatch() {
     errors |= obj_err_t::ATTR_NAME_MISMATCH;
   }
+  void set_snapset_inconsistency() {
+    errors |= obj_err_t::SNAPSET_INCONSISTENCY;
+  }
+  void set_hinfo_inconsistency() {
+    errors |= obj_err_t::HINFO_INCONSISTENCY;
+  }
   void add_shard(const pg_shard_t& pgs, const shard_info_wrapper& shard);
   void set_auth_missing(const hobject_t& hoid,
                         const map<pg_shard_t, ScrubMap*>&,
                        map<pg_shard_t, shard_info_wrapper>&,
-                       int &shallow_errors, int &deep_errors);
+                       int &shallow_errors, int &deep_errors,
+                       const pg_shard_t &primary);
   void set_version(uint64_t ver) { version = ver; }
   void encode(bufferlist& bl) const;
   void decode(bufferlist::iterator& bp);
@@ -135,16 +157,16 @@ struct inconsistent_snapset_wrapper : public librados::inconsistent_snapset_t {
   void set_headless();
   // soid claims that it is a head or a snapdir, but its SS_ATTR
   // is missing.
-  void set_ss_attr_missing();
-  void set_oi_attr_missing();
-  void set_ss_attr_corrupted();
-  void set_oi_attr_corrupted();
+  void set_snapset_missing();
+  void set_info_missing();
+  void set_snapset_corrupted();
+  void set_info_corrupted();
   // snapset with missing clone
   void set_clone_missing(snapid_t);
   // Clones that are there
   void set_clone(snapid_t);
   // the snapset is not consistent with itself
-  void set_snapset_mismatch();
+  void set_snapset_error();
   // soid.snap inconsistent with snapset
   void set_head_mismatch();
   void set_size_mismatch();