]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #15415 from dillaman/wip-rbd-valgrind
authorMykola Golub <mgolub@mirantis.com>
Tue, 6 Jun 2017 07:38:34 +0000 (10:38 +0300)
committerGitHub <noreply@github.com>
Tue, 6 Jun 2017 07:38:34 +0000 (10:38 +0300)
librbd: fix valgrind errors and ensure tests detect future leaks

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
1  2 
src/librbd/ExclusiveLock.cc
src/librbd/ImageCtx.cc
src/librbd/ImageCtx.h
src/librbd/internal.cc
src/tools/rbd_mirror/ImageReplayer.cc

index f35b90f1df5ab67206d5d5e730489ab24a7575a5,8c421215281cb2c8e2f612292c747ab327170d9e..a3d69fce89fbed9b7b48a1f5f910f5d6bf4c5c31
@@@ -128,24 -111,9 +128,24 @@@ void ExclusiveLock<I>::handle_peer_noti
    ML<I>::execute_next_action();
  }
  
 +template <typename I>
 +Context *ExclusiveLock<I>::start_op() {
 +  assert(m_image_ctx.owner_lock.is_locked());
 +  Mutex::Locker locker(ML<I>::m_lock);
 +
 +  if (!accept_ops(ML<I>::m_lock)) {
 +    return nullptr;
 +  }
 +
 +  m_async_op_tracker.start_op();
 +  return new FunctionContext([this](int r) {
 +      m_async_op_tracker.finish_op();
 +    });
 +}
 +
  template <typename I>
  void ExclusiveLock<I>::handle_init_complete(uint64_t features) {
-   ldout(m_image_ctx.cct, 10) << "features=" << features << dendl;
+   ldout(m_image_ctx.cct, 10) << "features=" << features << dendl;
  
    if ((features & RBD_FEATURE_JOURNALING) != 0) {
      m_image_ctx.io_work_queue->set_require_lock_on_read();
Simple merge
Simple merge
Simple merge
Simple merge