]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/osd/ReplicatedBackend.cc
update sources to v12.1.0
[ceph.git] / ceph / src / osd / ReplicatedBackend.cc
index def68de42274ef364980ad3c02e58550ef7ba361..07c0d316cf6d1e69dc8c0e29e0e273ef4416d2ad 100644 (file)
@@ -358,10 +358,10 @@ void generate_transaction(
     le.mark_unrollbackable();
     auto oiter = pgt->op_map.find(le.soid);
     if (oiter != pgt->op_map.end() && oiter->second.updated_snaps) {
-      vector<snapid_t> snaps(
-       oiter->second.updated_snaps->second.begin(),
-       oiter->second.updated_snaps->second.end());
-      ::encode(snaps, le.snaps);
+      bufferlist bl(oiter->second.updated_snaps->second.size() * 8 + 8);
+      ::encode(oiter->second.updated_snaps->second, bl);
+      le.snaps.swap(bl);
+      le.snaps.reassign_to_mempool(mempool::mempool_osd_pglog);
     }
   }
 
@@ -514,7 +514,7 @@ void ReplicatedBackend::submit_transaction(
   generate_transaction(
     t,
     coll,
-    !get_osdmap()->test_flag(CEPH_OSDMAP_REQUIRE_KRAKEN),
+    (get_osdmap()->require_osd_release < CEPH_RELEASE_KRAKEN),
     log_entries,
     &op_t,
     &added,