]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/librbd/operation/ObjectMapIterate.cc
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / librbd / operation / ObjectMapIterate.cc
index 68d2d1137835a573d9c8ca904a9445890ebe14fa..658dbb4a73762d5c8adbf0a1e81f9df449c4c60e 100644 (file)
@@ -4,6 +4,7 @@
 #include "librbd/operation/ObjectMapIterate.h"
 #include "common/dout.h"
 #include "common/errno.h"
+#include "osdc/Striper.h"
 #include "librbd/AsyncObjectThrottle.h"
 #include "librbd/ExclusiveLock.h"
 #include "librbd/ImageCtx.h"
@@ -68,7 +69,7 @@ private:
   std::atomic_flag *m_invalidate;
 
   librados::snap_set_t m_snap_set;
-  int m_snap_list_ret;
+  int m_snap_list_ret = 0;
 
   bool should_complete(int r) {
     I &image_ctx = this->m_image_ctx;
@@ -90,7 +91,7 @@ private:
 
   void send_list_snaps() {
     I &image_ctx = this->m_image_ctx;
-    assert(image_ctx.owner_lock.is_locked());
+    ceph_assert(image_ctx.owner_lock.is_locked());
     ldout(image_ctx.cct, 5) << m_oid
                            << " C_VerifyObjectCallback::send_list_snaps"
                             << dendl;
@@ -100,7 +101,7 @@ private:
 
     librados::AioCompletion *comp = util::create_rados_callback(this);
     int r = m_io_ctx.aio_operate(m_oid, comp, &op, NULL);
-    assert(r == 0);
+    ceph_assert(r == 0);
     comp->release();
   }
 
@@ -136,7 +137,7 @@ private:
 
   uint64_t next_valid_snap_id(uint64_t snap_id) {
     I &image_ctx = this->m_image_ctx;
-    assert(image_ctx.snap_lock.is_locked());
+    ceph_assert(image_ctx.snap_lock.is_locked());
 
     std::map<librados::snap_t, SnapInfo>::iterator it =
       image_ctx.snap_info.lower_bound(snap_id);
@@ -152,11 +153,11 @@ private:
     RWLock::RLocker owner_locker(image_ctx.owner_lock);
 
     // should have been canceled prior to releasing lock
-    assert(image_ctx.exclusive_lock == nullptr ||
-           image_ctx.exclusive_lock->is_lock_owner());
+    ceph_assert(image_ctx.exclusive_lock == nullptr ||
+                image_ctx.exclusive_lock->is_lock_owner());
 
     RWLock::RLocker snap_locker(image_ctx.snap_lock);
-    assert(image_ctx.object_map != nullptr);
+    ceph_assert(image_ctx.object_map != nullptr);
 
     RWLock::WLocker l(image_ctx.object_map_lock);
     uint8_t state = (*image_ctx.object_map)[m_object_no];
@@ -169,7 +170,7 @@ private:
     if (state != new_state) {
       int r = 0;
 
-      assert(m_handle_mismatch);
+      ceph_assert(m_handle_mismatch);
       r = m_handle_mismatch(image_ctx, m_object_no, state, new_state);
       if (r) {
        lderr(cct) << "object map error: object "
@@ -223,7 +224,7 @@ bool ObjectMapIterateRequest<I>::should_complete(int r) {
     break;
 
   default:
-    assert(false);
+    ceph_abort();
     break;
   }
 
@@ -236,7 +237,7 @@ bool ObjectMapIterateRequest<I>::should_complete(int r) {
 
 template <typename I>
 void ObjectMapIterateRequest<I>::send_verify_objects() {
-  assert(m_image_ctx.owner_lock.is_locked());
+  ceph_assert(m_image_ctx.owner_lock.is_locked());
   CephContext *cct = m_image_ctx.cct;
 
   uint64_t snap_id;
@@ -258,12 +259,13 @@ void ObjectMapIterateRequest<I>::send_verify_objects() {
   AsyncObjectThrottle<I> *throttle = new AsyncObjectThrottle<I>(
     this, m_image_ctx, context_factory, this->create_callback_context(),
     &m_prog_ctx, 0, num_objects);
-  throttle->start_ops(m_image_ctx.concurrent_management_ops);
+  throttle->start_ops(
+    m_image_ctx.config.template get_val<uint64_t>("rbd_concurrent_management_ops"));
 }
 
 template <typename I>
 uint64_t ObjectMapIterateRequest<I>::get_image_size() const {
-  assert(m_image_ctx.snap_lock.is_locked());
+  ceph_assert(m_image_ctx.snap_lock.is_locked());
   if (m_image_ctx.snap_id == CEPH_NOSNAP) {
     if (!m_image_ctx.resize_reqs.empty()) {
       return m_image_ctx.resize_reqs.front()->get_image_size();
@@ -286,7 +288,7 @@ void ObjectMapIterateRequest<I>::send_invalidate_object_map() {
                                             true,
                                             this->create_callback_context());
 
-  assert(m_image_ctx.owner_lock.is_locked());
+  ceph_assert(m_image_ctx.owner_lock.is_locked());
   RWLock::WLocker snap_locker(m_image_ctx.snap_lock);
   req->send();
 }