]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/librbd/operation/ObjectMapIterate.cc
update sources to v12.2.5
[ceph.git] / ceph / src / librbd / operation / ObjectMapIterate.cc
index 1e4b854bddd500f8e0ff7d77427ee42d3c2aab0e..68d2d1137835a573d9c8ca904a9445890ebe14fa 100644 (file)
@@ -200,12 +200,17 @@ template <typename I>
 bool ObjectMapIterateRequest<I>::should_complete(int r) {
   CephContext *cct = m_image_ctx.cct;
   ldout(cct, 5) << this << " should_complete: " << " r=" << r << dendl;
+  if (r < 0) {
+    lderr(cct) << "object map operation encountered an error: "
+              << cpp_strerror(r) << dendl;
+  }
 
   RWLock::RLocker owner_lock(m_image_ctx.owner_lock);
   switch (m_state) {
   case STATE_VERIFY_OBJECTS:
     if (m_invalidate.test_and_set()) {
       send_invalidate_object_map();
+      return false;
     } else if (r == 0) {
       return true;
     }
@@ -223,9 +228,6 @@ bool ObjectMapIterateRequest<I>::should_complete(int r) {
   }
 
   if (r < 0) {
-    lderr(cct) << "object map operation encountered an error: "
-              << cpp_strerror(r)
-               << dendl;
     return true;
   }