]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd rados command: Change "oi" to "info" in scrub handling errors
authorDavid Zafman <dzafman@redhat.com>
Fri, 16 Mar 2018 04:50:30 +0000 (21:50 -0700)
committerDavid Zafman <dzafman@redhat.com>
Wed, 11 Apr 2018 15:18:20 +0000 (08:18 -0700)
data_digest_mismatch_oi -> data_digest_mismatch_info
omap_digest_mismatch_oi -> omap_digest_mismatch_info
size_mismatch_oi -> size_mismatch_info
obj_size_oi_mismatch -> obj_size_info_mismatch

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 01687b052fdeec6dd2a4798b1e637fc8d15702c7)

doc/rados/command/list-inconsistent-obj.json
doc/rados/troubleshooting/troubleshooting-pg.rst
qa/standalone/scrub/osd-scrub-repair.sh
src/common/scrub_types.h
src/include/rados/rados_types.hpp
src/osd/PGBackend.cc
src/tools/rados/rados.cc

index 6e7fd5f35068cfea7211c76d27955c9d051c6ba4..5de262877f41e73b2a20f20a55d1de28683630f5 100644 (file)
                 "missing",
                 "stat_error",
                 "read_error",
-                "data_digest_mismatch_oi",
-                "omap_digest_mismatch_oi",
-                "size_mismatch_oi",
+                "data_digest_mismatch_info",
+                "omap_digest_mismatch_info",
+                "size_mismatch_info",
                 "ec_hash_error",
                 "ec_size_error",
                 "info_missing",
                 "info_corrupted",
-                "obj_size_oi_mismatch",
+                "obj_size_info_mismatch",
                 "snapset_missing",
                 "snapset_corrupted",
                 "hinfo_missing",
                       "missing",
                       "stat_error",
                       "read_error",
-                      "data_digest_mismatch_oi",
-                      "omap_digest_mismatch_oi",
-                      "size_mismatch_oi",
+                      "data_digest_mismatch_info",
+                      "omap_digest_mismatch_info",
+                      "size_mismatch_info",
                       "ec_hash_error",
                       "ec_size_error",
                       "info_missing",
                       "info_corrupted",
-                      "obj_size_oi_mismatch",
+                      "obj_size_info_mismatch",
                       "snapset_missing",
                       "snapset_corrupted",
                       "hinfo_missing",
index c51ed316f725cbf1cb0044f4059007fdaad0383b..eddb9624bbe96c9a47e2e047519e42962bd08775 100644 (file)
@@ -383,8 +383,8 @@ objects. If an object named ``foo`` in PG ``0.6`` is truncated, we will have::
                     "size_mismatch"
                 ],
                 "union_shard_errors": [
-                    "data_digest_mismatch_oi",
-                    "size_mismatch_oi"
+                    "data_digest_mismatch_info",
+                    "size_mismatch_info"
                 ],
                 "selected_object_info": "0:602f83fe:::foo:head(16'1 client.4110.0:1 dirty|data_digest|omap_digest s 968 uv 1 dd e978e67f od ffffffff alloc_hint [0 0 0])",
                 "shards": [
@@ -405,8 +405,8 @@ objects. If an object named ``foo`` in PG ``0.6`` is truncated, we will have::
                     {
                         "osd": 2,
                         "errors": [
-                            "data_digest_mismatch_oi",
-                            "size_mismatch_oi"
+                            "data_digest_mismatch_info",
+                            "size_mismatch_info"
                         ],
                         "size": 0,
                         "omap_digest": "0xffffffff",
@@ -437,9 +437,9 @@ In this case, we can learn from the output:
     ``oi`` indicate a comparison with ``selected_object_info``. Look at the
     ``shards`` array to determine which shard has which error(s).
 
-    * ``data_digest_mismatch_oi``: the digest stored in the object-info is not
+    * ``data_digest_mismatch_info``: the digest stored in the object-info is not
       ``0xffffffff``, which is calculated from the shard read from OSD.2
-    * ``size_mismatch_oi``: the size stored in the object-info is different
+    * ``size_mismatch_info``: the size stored in the object-info is different
       from the one read from OSD.2. The latter is 0.
 
 You can repair the inconsistent placement group by executing:: 
index 07cf9d3cf5921fccbd3932efb950539d3b3de8dd..86e7f42fbb7c4414488ce2fcbc922c4b6d568534 100755 (executable)
@@ -640,8 +640,8 @@ function TEST_corrupt_scrub_replicated() {
         {
           "size": 9,
           "errors": [
-            "size_mismatch_oi",
-            "obj_size_oi_mismatch"
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -649,8 +649,8 @@ function TEST_corrupt_scrub_replicated() {
       ],
       "selected_object_info": "3:ce3f1d6a:::ROBJ1:head(47'54 osd.0.0:53 dirty|omap|data_digest|omap_digest s 7 uv 3 dd 2ddbf8f5 od f5fba2c6 alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "size_mismatch_oi",
-        "obj_size_oi_mismatch"
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "size_mismatch"
@@ -987,7 +987,7 @@ function TEST_corrupt_scrub_replicated() {
           "object_info": "3:ffdb2004:::ROBJ9:head(47'60 osd.0.0:59 dirty|omap|data_digest|omap_digest s 7 uv 27 dd 2ddbf8f5 od 2eecc539 alloc_hint [0 0 0])",
           "size": 1,
           "errors": [
-            "obj_size_oi_mismatch"
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -995,7 +995,7 @@ function TEST_corrupt_scrub_replicated() {
       ],
       "selected_object_info": "3:ffdb2004:::ROBJ9:head(102'63 client.4433.0:1 dirty|omap|data_digest|omap_digest s 1 uv 67 dd 2b63260d od 2eecc539 alloc_hint [0 0 0])",
       "union_shard_errors": [
-         "obj_size_oi_mismatch"
+         "obj_size_info_mismatch"
       ],
       "errors": [
         "object_info_inconsistency"
@@ -1074,9 +1074,9 @@ EOF
           "omap_digest": "0xf5fba2c6",
           "size": 9,
           "errors": [
-            "data_digest_mismatch_oi",
-            "size_mismatch_oi",
-            "obj_size_oi_mismatch"
+            "data_digest_mismatch_info",
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -1084,9 +1084,9 @@ EOF
       ],
       "selected_object_info": "3:ce3f1d6a:::ROBJ1:head(47'54 osd.0.0:53 dirty|omap|data_digest|omap_digest s 7 uv 3 dd 2ddbf8f5 od f5fba2c6 alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "data_digest_mismatch_oi",
-        "size_mismatch_oi",
-        "obj_size_oi_mismatch"
+        "data_digest_mismatch_info",
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "data_digest_mismatch",
@@ -1400,7 +1400,7 @@ EOF
           "omap_digest": "0xf8e11918",
           "size": 7,
           "errors": [
-            "data_digest_mismatch_oi"
+            "data_digest_mismatch_info"
           ],
           "osd": 0,
           "primary": false
@@ -1416,7 +1416,7 @@ EOF
       ],
       "selected_object_info": "3:e97ce31e:::ROBJ2:head(47'56 osd.0.0:55 dirty|omap|data_digest|omap_digest s 7 uv 6 dd 2ddbf8f5 od f8e11918 alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "data_digest_mismatch_oi"
+        "data_digest_mismatch_info"
       ],
       "errors": [
         "data_digest_mismatch"
@@ -1689,7 +1689,7 @@ EOF
           "omap_digest": "0x2eecc539",
           "size": 3,
           "errors": [
-            "obj_size_oi_mismatch"
+            "obj_size_info_mismatch"
           ],
           "osd": 0,
           "primary": false
@@ -1706,7 +1706,7 @@ EOF
       ],
       "selected_object_info": "3:ffdb2004:::ROBJ9:head(122'64 client.4532.0:1 dirty|omap|data_digest|omap_digest s 3 uv 68 dd 1f26fb26 od 2eecc539 alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "obj_size_oi_mismatch"
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "object_info_inconsistency"
@@ -1860,8 +1860,8 @@ function corrupt_scrub_erasure() {
           "size": 9,
           "shard": 0,
           "errors": [
-            "size_mismatch_oi",
-            "obj_size_oi_mismatch"
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -1876,8 +1876,8 @@ function corrupt_scrub_erasure() {
       ],
       "selected_object_info": "3:9175b684:::EOBJ1:head(21'1 client.4179.0:1 dirty|data_digest|omap_digest s 7 uv 1 dd 2ddbf8f5 od ffffffff alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "size_mismatch_oi",
-        "obj_size_oi_mismatch"
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "size_mismatch"
@@ -2060,8 +2060,8 @@ function corrupt_scrub_erasure() {
           "size": 4096,
           "shard": 0,
           "errors": [
-            "size_mismatch_oi",
-            "obj_size_oi_mismatch"
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -2076,8 +2076,8 @@ function corrupt_scrub_erasure() {
       ],
       "selected_object_info": "3:8549dfb5:::EOBJ5:head(65'7 client.4441.0:1 dirty|data_digest|omap_digest s 7 uv 7 dd 2ddbf8f5 od ffffffff alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "size_mismatch_oi",
-        "obj_size_oi_mismatch"
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "size_mismatch"
@@ -2268,8 +2268,8 @@ EOF
           "shard": 0,
           "errors": [
             "read_error",
-            "size_mismatch_oi",
-            "obj_size_oi_mismatch"
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -2287,8 +2287,8 @@ EOF
       "selected_object_info": "3:9175b684:::EOBJ1:head(27'1 client.4155.0:1 dirty|data_digest|omap_digest s 7 uv 1 dd 2ddbf8f5 od ffffffff alloc_hint [0 0 0])",
       "union_shard_errors": [
         "read_error",
-        "size_mismatch_oi",
-        "obj_size_oi_mismatch"
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "size_mismatch"
@@ -2484,8 +2484,8 @@ EOF
           "omap_digest": "0xffffffff",
           "size": 4096,
           "errors": [
-            "size_mismatch_oi",
-            "obj_size_oi_mismatch"
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
           ],
           "shard": 0,
           "osd": 1,
@@ -2503,8 +2503,8 @@ EOF
       ],
       "selected_object_info": "3:8549dfb5:::EOBJ5:head(65'7 client.4288.0:1 dirty|data_digest|omap_digest s 7 uv 7 dd 2ddbf8f5 od ffffffff alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "size_mismatch_oi",
-        "obj_size_oi_mismatch"
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "size_mismatch"
@@ -2682,8 +2682,8 @@ EOF
           "shard": 0,
           "errors": [
             "read_error",
-            "size_mismatch_oi",
-            "obj_size_oi_mismatch"
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -2701,8 +2701,8 @@ EOF
       "selected_object_info": "3:9175b684:::EOBJ1:head(21'1 client.4179.0:1 dirty|data_digest|omap_digest s 7 uv 1 dd 2ddbf8f5 od ffffffff alloc_hint [0 0 0])",
       "union_shard_errors": [
         "read_error",
-        "size_mismatch_oi",
-        "obj_size_oi_mismatch"
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "size_mismatch"
@@ -2940,9 +2940,9 @@ EOF
           "size": 4096,
           "shard": 0,
           "errors": [
-            "size_mismatch_oi",
+            "size_mismatch_info",
             "ec_size_error",
-            "obj_size_oi_mismatch"
+            "obj_size_info_mismatch"
           ],
           "osd": 1,
           "primary": true
@@ -2959,9 +2959,9 @@ EOF
       ],
       "selected_object_info": "3:8549dfb5:::EOBJ5:head(65'7 client.4441.0:1 dirty|data_digest|omap_digest s 7 uv 7 dd 2ddbf8f5 od ffffffff alloc_hint [0 0 0])",
       "union_shard_errors": [
-        "size_mismatch_oi",
+        "size_mismatch_info",
         "ec_size_error",
-        "obj_size_oi_mismatch"
+        "obj_size_info_mismatch"
       ],
       "errors": [
         "size_mismatch"
index 562913144b313c6f1abad132305ebfacb82274cb..5f16ad79e7f34c135e6dfa0e924a2b28f81653c2 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;
@@ -78,8 +78,8 @@ public:
   void set_snapset_corrupted() {
     errors |= err_t::SNAPSET_CORRUPTED;
   }
-  void set_obj_size_oi_mismatch() {
-    errors |= err_t::OBJ_SIZE_OI_MISMATCH;
+  void set_obj_size_info_mismatch() {
+    errors |= err_t::OBJ_SIZE_INFO_MISMATCH;
   }
   void set_hinfo_missing() {
     errors |= err_t::HINFO_MISSING;
index 0f06e8157e0e0008f99c76fb0aa5e48d81e2dba9..652fbe1b18687cd4ae8799d922c414f6c9ea0cfc 100644 (file)
@@ -55,9 +55,12 @@ struct err_t {
     SHARD_MISSING        = 1 << 1,
     SHARD_STAT_ERR       = 1 << 2,
     SHARD_READ_ERR       = 1 << 3,
-    DATA_DIGEST_MISMATCH_OI = 1 << 9,
-    OMAP_DIGEST_MISMATCH_OI = 1 << 10,
-    SIZE_MISMATCH_OI        = 1 << 11,
+    DATA_DIGEST_MISMATCH_OI = 1 << 9,   // Old
+    DATA_DIGEST_MISMATCH_INFO = 1 << 9,
+    OMAP_DIGEST_MISMATCH_OI = 1 << 10,  // Old
+    OMAP_DIGEST_MISMATCH_INFO = 1 << 10,
+    SIZE_MISMATCH_OI        = 1 << 11,  // Old
+    SIZE_MISMATCH_INFO        = 1 << 11,
     SHARD_EC_HASH_MISMATCH  = 1 << 12,
     SHARD_EC_SIZE_MISMATCH  = 1 << 13,
     OI_ATTR_MISSING         = 1 << 14, // Old
@@ -68,14 +71,15 @@ struct err_t {
     SNAPSET_MISSING         = 1 << 16,
     SS_ATTR_CORRUPTED       = 1 << 17, // Old
     SNAPSET_CORRUPTED       = 1 << 17,
-    OBJ_SIZE_OI_MISMATCH      = 1 << 18,
+    OBJ_SIZE_OI_MISMATCH      = 1 << 18, // Old
+    OBJ_SIZE_INFO_MISMATCH      = 1 << 18,
     HINFO_MISSING         = 1 << 19,
     HINFO_CORRUPTED       = 1 << 20
     // When adding more here add to either SHALLOW_ERRORS or DEEP_ERRORS
   };
   uint64_t errors = 0;
-  static constexpr uint64_t SHALLOW_ERRORS = SHARD_MISSING|SHARD_STAT_ERR|SIZE_MISMATCH_OI|INFO_MISSING|INFO_CORRUPTED|SNAPSET_MISSING|SNAPSET_CORRUPTED|OBJ_SIZE_OI_MISMATCH|HINFO_MISSING|HINFO_CORRUPTED;
-  static constexpr uint64_t DEEP_ERRORS = SHARD_READ_ERR|DATA_DIGEST_MISMATCH_OI|OMAP_DIGEST_MISMATCH_OI|SHARD_EC_HASH_MISMATCH|SHARD_EC_SIZE_MISMATCH;
+  static constexpr uint64_t SHALLOW_ERRORS = SHARD_MISSING|SHARD_STAT_ERR|SIZE_MISMATCH_INFO|INFO_MISSING|INFO_CORRUPTED|SNAPSET_MISSING|SNAPSET_CORRUPTED|OBJ_SIZE_INFO_MISMATCH|HINFO_MISSING|HINFO_CORRUPTED;
+  static constexpr uint64_t DEEP_ERRORS = SHARD_READ_ERR|DATA_DIGEST_MISMATCH_INFO|OMAP_DIGEST_MISMATCH_INFO|SHARD_EC_HASH_MISMATCH|SHARD_EC_SIZE_MISMATCH;
   bool has_shard_missing() const {
     return errors & SHARD_MISSING;
   }
@@ -85,15 +89,24 @@ struct err_t {
   bool has_read_error() const {
     return errors & SHARD_READ_ERR;
   }
-  bool has_data_digest_mismatch_oi() const {
+  bool has_data_digest_mismatch_oi() const {   // Compatibility
     return errors & DATA_DIGEST_MISMATCH_OI;
   }
-  bool has_omap_digest_mismatch_oi() const {
+  bool has_data_digest_mismatch_info() const {
+    return errors & DATA_DIGEST_MISMATCH_INFO;
+  }
+  bool has_omap_digest_mismatch_oi() const {   // Compatibility
     return errors & OMAP_DIGEST_MISMATCH_OI;
   }
-  bool has_size_mismatch_oi() const {
+  bool has_omap_digest_mismatch_info() const {
+    return errors & OMAP_DIGEST_MISMATCH_INFO;
+  }
+  bool has_size_mismatch_oi() const {   // Compatibility
     return errors & SIZE_MISMATCH_OI;
   }
+  bool has_size_mismatch_info() const {
+    return errors & SIZE_MISMATCH_INFO;
+  }
   bool has_ec_hash_error() const {
     return errors & SHARD_EC_HASH_MISMATCH;
   }
@@ -130,8 +143,11 @@ struct err_t {
   bool has_deep_errors() const {
     return errors & DEEP_ERRORS;
   }
-  bool has_obj_size_oi_mismatch() const {
+  bool has_obj_size_oi_mismatch() const {   // Compatibility
     return errors & OBJ_SIZE_OI_MISMATCH;
+   }
+  bool has_obj_size_info_mismatch() const {
+    return errors & OBJ_SIZE_INFO_MISMATCH;
   }
   bool has_hinfo_missing() const {
     return errors & HINFO_MISSING;
index 459d247440ebd5b60e271bc44bbce7d3de6aa574..673ff89390382f0f9e190d18819ed9359f0db56d 100644 (file)
@@ -674,7 +674,7 @@ bool PGBackend::be_compare_scrub_objects(
         errorstream << "data_digest 0x" << std::hex << candidate.digest
                    << " != data_digest 0x" << auth_oi.data_digest << std::dec
                    << " from auth oi " << auth_oi;
-        shard_result.set_data_digest_mismatch_oi();
+        shard_result.set_data_digest_mismatch_info();
       }
     }
     if (auth_oi.is_omap_digest() && candidate.omap_digest_present) {
@@ -685,7 +685,7 @@ bool PGBackend::be_compare_scrub_objects(
         errorstream << "omap_digest 0x" << std::hex << candidate.omap_digest
                    << " != omap_digest 0x" << auth_oi.omap_digest << std::dec
                    << " from auth oi " << auth_oi;
-        shard_result.set_omap_digest_mismatch_oi();
+        shard_result.set_omap_digest_mismatch_info();
       }
     }
   }
@@ -699,7 +699,7 @@ bool PGBackend::be_compare_scrub_objects(
     errorstream << "size " << candidate.size
                << " != size " << oi_size
                << " from auth oi " << auth_oi;
-    shard_result.set_size_mismatch_oi();
+    shard_result.set_size_mismatch_info();
   }
   if (auth.size != candidate.size) {
     if (error != CLEAN)
@@ -899,8 +899,8 @@ map<pg_shard_t, ScrubMap *>::const_iterator
 
     if (i->second.size != be_get_ondisk_size(oi.size)) {
       dout(5) << __func__ << " size " << i->second.size << " oi size " << oi.size << dendl;
-      shard_info.set_obj_size_oi_mismatch();
-      error_string += " obj_size_oi_mismatch";
+      shard_info.set_obj_size_info_mismatch();
+      error_string += " obj_size_info_mismatch";
     }
 
     // Don't use this particular shard due to previous errors
@@ -1088,7 +1088,7 @@ void PGBackend::be_compare_scrubmaps(
       // recorded digest != actual digest?
       if (auth_oi.is_data_digest() && auth_object.digest_present &&
          auth_oi.data_digest != auth_object.digest) {
-        assert(shard_map[auth->first].has_data_digest_mismatch_oi());
+        assert(shard_map[auth->first].has_data_digest_mismatch_info());
        errorstream << pgid << " recorded data digest 0x"
                    << std::hex << auth_oi.data_digest << " != on disk 0x"
                    << auth_object.digest << std::dec << " on " << auth_oi.soid
@@ -1098,7 +1098,7 @@ void PGBackend::be_compare_scrubmaps(
       }
       if (auth_oi.is_omap_digest() && auth_object.omap_digest_present &&
          auth_oi.omap_digest != auth_object.omap_digest) {
-        assert(shard_map[auth->first].has_omap_digest_mismatch_oi());
+        assert(shard_map[auth->first].has_omap_digest_mismatch_info());
        errorstream << pgid << " recorded omap digest 0x"
                    << std::hex << auth_oi.omap_digest << " != on disk 0x"
                    << auth_object.omap_digest << std::dec
index ba132504ffb1cef49ccce1c0b3797485d6273307..0e1c66313a6f276d08715c2b111ddf3de028c9d9 100644 (file)
@@ -1326,12 +1326,12 @@ static void dump_errors(const err_t &err, Formatter &f, const char *name)
     f.dump_string("error", "stat_error");
   if (err.has_read_error())
     f.dump_string("error", "read_error");
-  if (err.has_data_digest_mismatch_oi())
-    f.dump_string("error", "data_digest_mismatch_oi");
-  if (err.has_omap_digest_mismatch_oi())
-    f.dump_string("error", "omap_digest_mismatch_oi");
-  if (err.has_size_mismatch_oi())
-    f.dump_string("error", "size_mismatch_oi");
+  if (err.has_data_digest_mismatch_info())
+    f.dump_string("error", "data_digest_mismatch_info");
+  if (err.has_omap_digest_mismatch_info())
+    f.dump_string("error", "omap_digest_mismatch_info");
+  if (err.has_size_mismatch_info())
+    f.dump_string("error", "size_mismatch_info");
   if (err.has_ec_hash_error())
     f.dump_string("error", "ec_hash_error");
   if (err.has_ec_size_error())
@@ -1340,8 +1340,8 @@ static void dump_errors(const err_t &err, Formatter &f, const char *name)
     f.dump_string("error", "info_missing");
   if (err.has_info_corrupted())
     f.dump_string("error", "info_corrupted");
-  if (err.has_obj_size_oi_mismatch())
-    f.dump_string("error", "obj_size_oi_mismatch");
+  if (err.has_obj_size_info_mismatch())
+    f.dump_string("error", "obj_size_info_mismatch");
   if (err.has_snapset_missing())
     f.dump_string("error", "snapset_missing");
   if (err.has_snapset_corrupted())