]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/osd/SnapMapper.cc
update sources to v12.2.5
[ceph.git] / ceph / src / osd / SnapMapper.cc
index 81c548510045272a19784f389e49884a75d015d8..374e2429b439add892f84b47b2b76ba39c644e68 100644 (file)
@@ -239,11 +239,17 @@ void SnapMapper::add_oid(
   MapCacher::Transaction<std::string, bufferlist> *t)
 {
   dout(20) << __func__ << " " << oid << " " << snaps << dendl;
+  assert(!snaps.empty());
   assert(check(oid));
   {
     object_snaps out;
     int r = get_snaps(oid, &out);
-    assert(r == -ENOENT);
+    if (r != -ENOENT) {
+      derr << __func__ << " found existing snaps mapped on " << oid
+          << ", removing" << dendl;
+      assert(!cct->_conf->osd_debug_verify_snaps);
+      remove_oid(oid, t);
+    }
   }
 
   object_snaps _snaps(oid, snaps);