]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PGLog: disable incremental recovery for pre-kraken versions
authorxie xingguo <xie.xingguo@zte.com.cn>
Tue, 20 Aug 2019 02:43:43 +0000 (10:43 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Thu, 22 Aug 2019 05:43:19 +0000 (13:43 +0800)
Since kraken, we always persist the missing set explicitly
(see https://github.com/ceph/ceph/pull/10334) and manually
building the missing set is only meaningful to be compatiable
with pre-kraken versions.

For safety, explicitly disable incremental recovery if we have
to completely re-build the missing set at boot up.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/osd/PGLog.h

index 81927870976c31b757dc529df77a3a8f5420e9be..2beb72de5273f64e0b597eacda7d8bb58e63277f 100644 (file)
@@ -1451,8 +1451,6 @@ public:
            continue;
          if (i->is_error())
            continue;
-    if (!i->is_delete())
-        missing.merge(*i);
          if (did.count(i->soid)) continue;
          did.insert(i->soid);
 
@@ -1481,8 +1479,7 @@ public:
                ceph_assert(miter->second.have == oi.version || miter->second.have == eversion_t());
                checked.insert(i->soid);
              } else {
-               missing.add(i->soid, i->version, oi.version, i->is_delete(), false);
-               missing.merge(*i);
+               missing.add(i->soid, i->version, oi.version, i->is_delete());
              }
            }
          } else {
@@ -1500,8 +1497,7 @@ public:
              }
              checked.insert(i->soid);
            } else {
-             missing.add(i->soid, i->version, eversion_t(), i->is_delete(), false);
-             missing.merge(*i);
+             missing.add(i->soid, i->version, eversion_t(), i->is_delete());
            }
          }
        }