]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/librbd/object_map/UpdateRequest.cc
update sources to 12.2.10
[ceph.git] / ceph / src / librbd / object_map / UpdateRequest.cc
index 9ceb28a177379b1fbeae984d1e09c3d4b99bce52..f92c7e4bab3e4827b2d5432e8dae9798f41cb336 100644 (file)
@@ -72,6 +72,13 @@ template <typename I>
 void UpdateRequest<I>::handle_update_object_map(int r) {
   ldout(m_image_ctx.cct, 20) << "r=" << r << dendl;
 
+  if (r == -ENOENT && m_ignore_enoent) {
+    r = 0;
+  }
+  if (r < 0 && m_ret_val == 0) {
+    m_ret_val = r;
+  }
+
   {
     RWLock::RLocker snap_locker(m_image_ctx.snap_lock);
     RWLock::WLocker object_map_locker(m_image_ctx.object_map_lock);
@@ -85,7 +92,7 @@ void UpdateRequest<I>::handle_update_object_map(int r) {
   }
 
   // no more batch updates to send
-  complete(r);
+  complete(m_ret_val);
 }
 
 template <typename I>