From 5fe3a1017a1d0ef0dde9f8f98df0cd0812655598 Mon Sep 17 00:00:00 2001 From: liuchang0812 Date: Wed, 15 Feb 2017 21:37:31 +0800 Subject: [PATCH] rbd: add override in rbd subsystem Fixes: http://tracker.ceph.com/issues/18922 Signed-off-by: liuchang0812 --- src/librbd/AioImageRequest.cc | 12 +++++----- src/librbd/AsyncOperation.cc | 2 +- src/librbd/CopyupRequest.cc | 2 +- src/librbd/DiffIterate.cc | 2 +- src/librbd/ExclusiveLock.cc | 2 +- src/librbd/ImageCtx.cc | 8 +++---- src/librbd/ImageState.cc | 2 +- src/librbd/Journal.cc | 8 +++---- src/librbd/LibrbdAdminSocketHook.cc | 4 ++-- src/librbd/LibrbdWriteback.cc | 12 +++++----- src/librbd/ManagedLock.cc | 6 ++--- src/librbd/Operations.cc | 6 ++--- src/librbd/Watcher.cc | 4 ++-- src/librbd/internal.cc | 6 ++--- src/librbd/journal/Replay.cc | 6 ++--- src/librbd/librbd.cc | 10 ++++----- src/librbd/managed_lock/BreakRequest.cc | 2 +- src/librbd/operation/FlattenRequest.cc | 2 +- src/librbd/operation/ObjectMapIterate.cc | 4 ++-- .../operation/SnapshotRollbackRequest.cc | 2 +- .../operation/SnapshotUnprotectRequest.cc | 4 ++-- src/librbd/operation/TrimRequest.cc | 4 ++-- src/test/cls_rbd/test_cls_rbd.cc | 6 ++--- src/test/librbd/fsx.cc | 8 +++---- src/test/librbd/journal/test_Entries.cc | 10 ++++----- src/test/librbd/test_BlockGuard.cc | 2 +- src/test/librbd/test_ImageWatcher.cc | 10 ++++----- src/test/librbd/test_MirroringWatcher.cc | 4 ++-- src/test/librbd/test_internal.cc | 4 ++-- src/test/librbd/test_librbd.cc | 10 ++++----- src/test/librbd/test_mirroring.cc | 10 ++++----- src/test/librbd/test_mock_Journal.cc | 22 +++++++++---------- .../watcher/test_mock_RewatchRequest.cc | 6 ++--- .../test_mock_BootstrapRequest.cc | 2 +- .../test_mock_CreateImageRequest.cc | 2 +- .../test_mock_EventPreprocessor.cc | 2 +- .../image_sync/test_mock_ImageCopyRequest.cc | 2 +- .../image_sync/test_mock_ObjectCopyRequest.cc | 2 +- .../test_mock_SnapshotCopyRequest.cc | 2 +- .../test_mock_SnapshotCreateRequest.cc | 2 +- .../test_mock_SyncPointCreateRequest.cc | 2 +- .../test_mock_SyncPointPruneRequest.cc | 2 +- src/test/rbd_mirror/test_ImageDeleter.cc | 4 ++-- src/test/rbd_mirror/test_ImageReplayer.cc | 8 +++---- src/test/rbd_mirror/test_ImageSync.cc | 4 ++-- src/test/rbd_mirror/test_LeaderWatcher.cc | 6 ++--- .../rbd_mirror/test_mock_ImageReplayer.cc | 4 ++-- src/test/rbd_mirror/test_mock_ImageSync.cc | 2 +- .../test_mock_ImageSyncThrottler.cc | 4 ++-- src/tools/rbd/action/Export.cc | 2 +- src/tools/rbd/action/ExportDiff.cc | 2 +- src/tools/rbd/action/Import.cc | 2 +- src/tools/rbd/action/Journal.cc | 16 +++++++------- src/tools/rbd/action/Watch.cc | 8 +++---- src/tools/rbd_mirror/ImageDeleter.cc | 12 +++++----- src/tools/rbd_mirror/ImageReplayer.cc | 22 +++++++++---------- src/tools/rbd_mirror/ImageSyncThrottler.cc | 2 +- src/tools/rbd_mirror/Mirror.cc | 16 +++++++------- src/tools/rbd_mirror/Replayer.cc | 16 +++++++------- .../image_replayer/OpenLocalImageRequest.cc | 10 ++++----- src/tools/rbd_nbd/rbd-nbd.cc | 6 ++--- 61 files changed, 183 insertions(+), 183 deletions(-) diff --git a/src/librbd/AioImageRequest.cc b/src/librbd/AioImageRequest.cc index e3a75d634b4..a262d8c5550 100644 --- a/src/librbd/AioImageRequest.cc +++ b/src/librbd/AioImageRequest.cc @@ -44,7 +44,7 @@ struct C_DiscardJournalCommit : public Context { aio_comp->add_request(); } - virtual void finish(int r) { + void finish(int r) override { CephContext *cct = image_ctx.cct; ldout(cct, 20) << this << " C_DiscardJournalCommit: " << "journal committed: discarding from cache" << dendl; @@ -71,7 +71,7 @@ struct C_FlushJournalCommit : public Context { aio_comp->add_request(); } - virtual void finish(int r) { + void finish(int r) override { CephContext *cct = image_ctx.cct; ldout(cct, 20) << this << " C_FlushJournalCommit: journal committed" << dendl; @@ -86,7 +86,7 @@ public: : C_AioRequest(completion), m_req(nullptr) { } - virtual void finish(int r) { + void finish(int r) override { m_completion->lock.Lock(); CephContext *cct = m_completion->ictx->cct; ldout(cct, 10) << "C_AioRead::finish() " << this << " r = " << r << dendl; @@ -133,7 +133,7 @@ public: } protected: - virtual void finish(int r) { + void finish(int r) override { CephContext *cct = m_completion->ictx->cct; ldout(cct, 10) << "C_ImageCacheRead::finish() " << this << ": r=" << r << dendl; @@ -163,7 +163,7 @@ public: explicit C_ObjectCacheRead(ImageCtxT &ictx, AioObjectRead *req) : m_image_ctx(ictx), m_req(req), m_enqueued(false) {} - virtual void complete(int r) { + void complete(int r) override { if (!m_enqueued) { // cache_lock creates a lock ordering issue -- so re-execute this context // outside the cache_lock @@ -175,7 +175,7 @@ public: } protected: - virtual void finish(int r) { + void finish(int r) override { m_req->complete(r); } diff --git a/src/librbd/AsyncOperation.cc b/src/librbd/AsyncOperation.cc index 0c79d8ac3ca..d6581c9e936 100644 --- a/src/librbd/AsyncOperation.cc +++ b/src/librbd/AsyncOperation.cc @@ -21,7 +21,7 @@ struct C_CompleteFlushes : public Context { explicit C_CompleteFlushes(ImageCtx *image_ctx, std::list &&flush_contexts) : image_ctx(image_ctx), flush_contexts(std::move(flush_contexts)) { } - virtual void finish(int r) { + void finish(int r) override { RWLock::RLocker owner_locker(image_ctx->owner_lock); while (!flush_contexts.empty()) { Context *flush_ctx = flush_contexts.front(); diff --git a/src/librbd/CopyupRequest.cc b/src/librbd/CopyupRequest.cc index e7dd8a45df0..ae3f1770c2b 100644 --- a/src/librbd/CopyupRequest.cc +++ b/src/librbd/CopyupRequest.cc @@ -38,7 +38,7 @@ public: { } - virtual int send() { + int send() override { uint64_t snap_id = m_snap_ids[m_snap_id_idx]; if (snap_id == CEPH_NOSNAP) { RWLock::RLocker snap_locker(m_image_ctx.snap_lock); diff --git a/src/librbd/DiffIterate.cc b/src/librbd/DiffIterate.cc index 57a847f20b2..dc4de7f793b 100644 --- a/src/librbd/DiffIterate.cc +++ b/src/librbd/DiffIterate.cc @@ -75,7 +75,7 @@ protected: typedef boost::tuple Diff; typedef std::list Diffs; - virtual void finish(int r) { + void finish(int r) override { CephContext *cct = m_image_ctx.cct; if (r == 0 && m_snap_ret < 0) { r = m_snap_ret; diff --git a/src/librbd/ExclusiveLock.cc b/src/librbd/ExclusiveLock.cc index bd136a7aed7..1a7a76ccb34 100644 --- a/src/librbd/ExclusiveLock.cc +++ b/src/librbd/ExclusiveLock.cc @@ -303,7 +303,7 @@ struct ExclusiveLock::C_InitComplete : public Context { Context *on_init) : exclusive_lock(exclusive_lock), features(features), on_init(on_init) { } - virtual void finish(int r) override { + void finish(int r) override { if (r == 0) { exclusive_lock->handle_init_complete(features); } diff --git a/src/librbd/ImageCtx.cc b/src/librbd/ImageCtx.cc index bc3132a912f..fa6724d4b85 100644 --- a/src/librbd/ImageCtx.cc +++ b/src/librbd/ImageCtx.cc @@ -59,7 +59,7 @@ public: "rbd_op_threads") { start(); } - virtual ~ThreadPoolSingleton() { + ~ThreadPoolSingleton() override { stop(); } }; @@ -86,7 +86,7 @@ struct C_FlushCache : public Context { C_FlushCache(ImageCtx *_image_ctx, Context *_on_safe) : image_ctx(_image_ctx), on_safe(_on_safe) { } - virtual void finish(int r) { + void finish(int r) override { // successful cache flush indicates all IO is now safe image_ctx->flush_cache(on_safe); } @@ -99,7 +99,7 @@ struct C_ShutDownCache : public Context { C_ShutDownCache(ImageCtx *_image_ctx, Context *_on_finish) : image_ctx(_image_ctx), on_finish(_on_finish) { } - virtual void finish(int r) { + void finish(int r) override { image_ctx->object_cacher->stop(); on_finish->complete(r); } @@ -116,7 +116,7 @@ struct C_InvalidateCache : public Context { : image_ctx(_image_ctx), purge_on_error(_purge_on_error), reentrant_safe(_reentrant_safe), on_finish(_on_finish) { } - virtual void finish(int r) { + void finish(int r) override { assert(image_ctx->cache_lock.is_locked()); CephContext *cct = image_ctx->cct; diff --git a/src/librbd/ImageState.cc b/src/librbd/ImageState.cc index e1ba4a312dc..dfac0c5b95b 100644 --- a/src/librbd/ImageState.cc +++ b/src/librbd/ImageState.cc @@ -194,7 +194,7 @@ private: 1) { start(); } - virtual ~ThreadPoolSingleton() { + ~ThreadPoolSingleton() override { stop(); } }; diff --git a/src/librbd/Journal.cc b/src/librbd/Journal.cc index 096820d21a9..ec0d7cb5125 100644 --- a/src/librbd/Journal.cc +++ b/src/librbd/Journal.cc @@ -46,7 +46,7 @@ public: : ThreadPool(cct, "librbd::Journal", "tp_librbd_journ", 1) { start(); } - virtual ~ThreadPoolSingleton() { + ~ThreadPoolSingleton() override { stop(); } }; @@ -75,7 +75,7 @@ struct C_IsTagOwner : public Context { {})) { } - virtual void finish(int r) { + void finish(int r) override { ldout(cct, 20) << this << " C_IsTagOwner::" << __func__ << ": r=" << r << dendl; if (r < 0) { @@ -1738,11 +1738,11 @@ struct C_RefreshTags : public Context { lock("librbd::Journal::C_RefreshTags::lock") { async_op_tracker.start_op(); } - virtual ~C_RefreshTags() { + ~C_RefreshTags() override { async_op_tracker.finish_op(); } - virtual void finish(int r) { + void finish(int r) override { on_finish->complete(r); } }; diff --git a/src/librbd/LibrbdAdminSocketHook.cc b/src/librbd/LibrbdAdminSocketHook.cc index 5485ba5d62c..bda734ca948 100644 --- a/src/librbd/LibrbdAdminSocketHook.cc +++ b/src/librbd/LibrbdAdminSocketHook.cc @@ -23,7 +23,7 @@ class FlushCacheCommand : public LibrbdAdminSocketCommand { public: explicit FlushCacheCommand(ImageCtx *ictx) : ictx(ictx) {} - bool call(stringstream *ss) { + bool call(stringstream *ss) override { int r = flush(ictx); if (r < 0) { *ss << "flush: " << cpp_strerror(r); @@ -40,7 +40,7 @@ struct InvalidateCacheCommand : public LibrbdAdminSocketCommand { public: explicit InvalidateCacheCommand(ImageCtx *ictx) : ictx(ictx) {} - bool call(stringstream *ss) { + bool call(stringstream *ss) override { int r = invalidate_cache(ictx); if (r < 0) { *ss << "invalidate_cache: " << cpp_strerror(r); diff --git a/src/librbd/LibrbdWriteback.cc b/src/librbd/LibrbdWriteback.cc index 8a6244d79f5..b1e3826df4d 100644 --- a/src/librbd/LibrbdWriteback.cc +++ b/src/librbd/LibrbdWriteback.cc @@ -53,7 +53,7 @@ namespace librbd { C_ReadRequest(CephContext *cct, Context *c, Mutex *cache_lock) : m_cct(cct), m_ctx(c), m_cache_lock(cache_lock) { } - virtual void finish(int r) { + void finish(int r) override { ldout(m_cct, 20) << "aio_cb completing " << dendl; { Mutex::Locker cache_locker(*m_cache_lock); @@ -72,8 +72,8 @@ namespace librbd { C_OrderedWrite(CephContext *cct, LibrbdWriteback::write_result_d *result, LibrbdWriteback *wb) : m_cct(cct), m_result(result), m_wb_handler(wb) {} - virtual ~C_OrderedWrite() {} - virtual void finish(int r) { + ~C_OrderedWrite() override {} + void finish(int r) override { ldout(m_cct, 20) << "C_OrderedWrite completing " << m_result << dendl; { Mutex::Locker l(m_wb_handler->m_lock); @@ -116,7 +116,7 @@ namespace librbd { << journal_tid << " safe" << dendl; } - virtual void complete(int r) { + void complete(int r) override { if (request_sent || r < 0) { if (request_sent && r == 0) { // only commit IO events that are safely recorded to the backing image @@ -131,7 +131,7 @@ namespace librbd { } } - virtual void finish(int r) { + void finish(int r) override { } void commit_io_event_extent(int r) { @@ -179,7 +179,7 @@ namespace librbd { length(length) { } - virtual void finish(int r) { + void finish(int r) override { // all IO operations are flushed prior to closing the journal assert(image_ctx->journal != nullptr); diff --git a/src/librbd/ManagedLock.cc b/src/librbd/ManagedLock.cc index 4325d620730..76594d3c0fd 100644 --- a/src/librbd/ManagedLock.cc +++ b/src/librbd/ManagedLock.cc @@ -33,7 +33,7 @@ struct C_SendLockRequest : public Context { R* request; explicit C_SendLockRequest(R* request) : request(request) { } - virtual void finish(int r) override { + void finish(int r) override { request->send(); } }; @@ -45,10 +45,10 @@ struct C_Tracked : public Context { : tracker(tracker), ctx(ctx) { tracker.start_op(); } - virtual ~C_Tracked() { + ~C_Tracked() override { tracker.finish_op(); } - virtual void finish(int r) override { + void finish(int r) override { ctx->complete(r); } }; diff --git a/src/librbd/Operations.cc b/src/librbd/Operations.cc index a3a828e0fa4..21581eabd5f 100644 --- a/src/librbd/Operations.cc +++ b/src/librbd/Operations.cc @@ -53,7 +53,7 @@ struct C_NotifyUpdate : public Context { : image_ctx(image_ctx), on_finish(on_finish) { } - virtual void complete(int r) override { + void complete(int r) override { CephContext *cct = image_ctx.cct; if (notified) { if (r == -ETIMEDOUT) { @@ -81,7 +81,7 @@ struct C_NotifyUpdate : public Context { notified = true; image_ctx.notify_update(this); } - virtual void finish(int r) override { + void finish(int r) override { on_finish->complete(r); } }; @@ -299,7 +299,7 @@ struct C_InvokeAsyncRequest : public Context { complete(r); } - virtual void finish(int r) override { + void finish(int r) override { if (filter_error_codes.count(r) != 0) { r = 0; } diff --git a/src/librbd/Watcher.cc b/src/librbd/Watcher.cc index edf15d102d7..49069574e98 100644 --- a/src/librbd/Watcher.cc +++ b/src/librbd/Watcher.cc @@ -34,7 +34,7 @@ struct C_UnwatchAndFlush : public Context { : rados(io_ctx), on_finish(on_finish) { } - virtual void complete(int r) override { + void complete(int r) override { if (ret_val == 0 && r < 0) { ret_val = r; } @@ -59,7 +59,7 @@ struct C_UnwatchAndFlush : public Context { ctx->complete(r); } - virtual void finish(int r) override { + void finish(int r) override { } }; diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 2ac4f4329d4..67dfbea5deb 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -2055,7 +2055,7 @@ void filter_out_mirror_watchers(ImageCtx *ictx, public: C_CopyWrite(SimpleThrottle *throttle, bufferlist *bl) : m_throttle(throttle), m_bl(bl) {} - virtual void finish(int r) { + void finish(int r) override { delete m_bl; m_throttle->end_op(r); } @@ -2071,7 +2071,7 @@ void filter_out_mirror_watchers(ImageCtx *ictx, : m_throttle(throttle), m_dest(dest), m_offset(offset), m_bl(bl) { m_throttle->start_op(); } - virtual void finish(int r) { + void finish(int r) override { if (r < 0) { lderr(m_dest->cct) << "error reading from source image at offset " << m_offset << ": " << cpp_strerror(r) << dendl; @@ -3341,7 +3341,7 @@ void filter_out_mirror_watchers(ImageCtx *ictx, uint64_t length; C_RBD_Readahead(ImageCtx *ictx, object_t oid, uint64_t offset, uint64_t length) : ictx(ictx), oid(oid), offset(offset), length(length) { } - void finish(int r) { + void finish(int r) override { ldout(ictx->cct, 20) << "C_RBD_Readahead on " << oid << ": " << offset << "+" << length << dendl; ictx->readahead.dec_pending(); } diff --git a/src/librbd/journal/Replay.cc b/src/librbd/journal/Replay.cc index ff52c50d046..413465b2382 100644 --- a/src/librbd/journal/Replay.cc +++ b/src/librbd/journal/Replay.cc @@ -104,7 +104,7 @@ struct ExecuteOp : public Context { image_ctx.operations->execute_metadata_remove(event.key, on_op_complete); } - virtual void finish(int r) override { + void finish(int r) override { CephContext *cct = image_ctx.cct; if (r < 0) { lderr(cct) << ": ExecuteOp::" << __func__ << ": r=" << r << dendl; @@ -126,11 +126,11 @@ struct C_RefreshIfRequired : public Context { C_RefreshIfRequired(I &image_ctx, Context *on_finish) : image_ctx(image_ctx), on_finish(on_finish) { } - virtual ~C_RefreshIfRequired() { + ~C_RefreshIfRequired() override { delete on_finish; } - virtual void finish(int r) override { + void finish(int r) override { CephContext *cct = image_ctx.cct; Context *ctx = on_finish; on_finish = nullptr; diff --git a/src/librbd/librbd.cc b/src/librbd/librbd.cc index 5cac1226d30..f9ac0030068 100644 --- a/src/librbd/librbd.cc +++ b/src/librbd/librbd.cc @@ -78,7 +78,7 @@ struct C_OpenComplete : public Context { comp->init_time(ictx, librbd::AIO_TYPE_OPEN); comp->get(); } - virtual void finish(int r) { + void finish(int r) override { ldout(ictx->cct, 20) << "C_OpenComplete::finish: r=" << r << dendl; if (reopen) { delete reinterpret_cast(*ictxp); @@ -103,7 +103,7 @@ struct C_OpenAfterCloseComplete : public Context { void **ictxp) : ictx(ictx), comp(comp), ictxp(ictxp) { } - virtual void finish(int r) { + void finish(int r) override { ldout(ictx->cct, 20) << "C_OpenAfterCloseComplete::finish: r=" << r << dendl; ictx->state->open(false, new C_OpenComplete(ictx, comp, ictxp, true)); @@ -118,7 +118,7 @@ struct C_CloseComplete : public Context { comp->init_time(ictx, librbd::AIO_TYPE_CLOSE); comp->get(); } - virtual void finish(int r) { + void finish(int r) override { ldout(cct, 20) << "C_CloseComplete::finish: r=" << r << dendl; if (r < 0) { comp->fail(r); @@ -138,7 +138,7 @@ struct C_UpdateWatchCB : public librbd::UpdateWatchCtx { C_UpdateWatchCB(rbd_update_callback_t watch_cb, void *arg) : watch_cb(watch_cb), arg(arg) { } - void handle_notify() { + void handle_notify() override { watch_cb(arg); } }; @@ -187,7 +187,7 @@ namespace librbd { : m_fn(fn), m_data(data) { } - int update_progress(uint64_t offset, uint64_t src_size) + int update_progress(uint64_t offset, uint64_t src_size) override { return m_fn(offset, src_size, m_data); } diff --git a/src/librbd/managed_lock/BreakRequest.cc b/src/librbd/managed_lock/BreakRequest.cc index bf66d932c4b..482408d7f88 100644 --- a/src/librbd/managed_lock/BreakRequest.cc +++ b/src/librbd/managed_lock/BreakRequest.cc @@ -37,7 +37,7 @@ struct C_BlacklistClient : public Context { expire_seconds(expire_seconds), on_finish(on_finish) { } - virtual void finish(int r) override { + void finish(int r) override { librados::Rados rados(ioctx); r = rados.blacklist_add(locker_address, expire_seconds); on_finish->complete(r); diff --git a/src/librbd/operation/FlattenRequest.cc b/src/librbd/operation/FlattenRequest.cc index 911534dea2c..70d358ab3c0 100644 --- a/src/librbd/operation/FlattenRequest.cc +++ b/src/librbd/operation/FlattenRequest.cc @@ -28,7 +28,7 @@ public: { } - virtual int send() { + int send() override { I &image_ctx = this->m_image_ctx; assert(image_ctx.owner_lock.is_locked()); CephContext *cct = image_ctx.cct; diff --git a/src/librbd/operation/ObjectMapIterate.cc b/src/librbd/operation/ObjectMapIterate.cc index 229a585d2a0..2b1fa74e6ac 100644 --- a/src/librbd/operation/ObjectMapIterate.cc +++ b/src/librbd/operation/ObjectMapIterate.cc @@ -42,7 +42,7 @@ public: m_io_ctx.snap_set_read(CEPH_SNAPDIR); } - virtual void complete(int r) { + void complete(int r) override { I &image_ctx = this->m_image_ctx; if (should_complete(r)) { ldout(image_ctx.cct, 20) << m_oid << " C_VerifyObjectCallback completed " @@ -52,7 +52,7 @@ public: } } - virtual int send() { + int send() override { send_list_snaps(); return 0; } diff --git a/src/librbd/operation/SnapshotRollbackRequest.cc b/src/librbd/operation/SnapshotRollbackRequest.cc index 4129544103d..a12edfd4e10 100644 --- a/src/librbd/operation/SnapshotRollbackRequest.cc +++ b/src/librbd/operation/SnapshotRollbackRequest.cc @@ -36,7 +36,7 @@ public: m_object_num(object_num) { } - virtual int send() { + int send() override { I &image_ctx = this->m_image_ctx; CephContext *cct = image_ctx.cct; ldout(cct, 20) << "C_RollbackObject: " << __func__ << ": object_num=" diff --git a/src/librbd/operation/SnapshotUnprotectRequest.cc b/src/librbd/operation/SnapshotUnprotectRequest.cc index 0b7b7c4382b..6375782c3bb 100644 --- a/src/librbd/operation/SnapshotUnprotectRequest.cc +++ b/src/librbd/operation/SnapshotUnprotectRequest.cc @@ -62,7 +62,7 @@ public: m_pool(pools[pool_idx]) { } - virtual int send() { + int send() override { I &image_ctx = this->m_image_ctx; assert(image_ctx.owner_lock.is_locked()); @@ -111,7 +111,7 @@ public: } protected: - virtual void finish(int r) { + void finish(int r) override { I &image_ctx = this->m_image_ctx; CephContext *cct = image_ctx.cct; diff --git a/src/librbd/operation/TrimRequest.cc b/src/librbd/operation/TrimRequest.cc index 5e3500779df..b3a30883e16 100644 --- a/src/librbd/operation/TrimRequest.cc +++ b/src/librbd/operation/TrimRequest.cc @@ -36,7 +36,7 @@ public: { } - virtual int send() { + int send() override { I &image_ctx = this->m_image_ctx; assert(image_ctx.owner_lock.is_locked()); assert(image_ctx.exclusive_lock == nullptr || @@ -64,7 +64,7 @@ public: { } - virtual int send() { + int send() override { I &image_ctx = this->m_image_ctx; assert(image_ctx.owner_lock.is_locked()); assert(image_ctx.exclusive_lock == nullptr || diff --git a/src/test/cls_rbd/test_cls_rbd.cc b/src/test/cls_rbd/test_cls_rbd.cc index 837e947743c..c9745f3380d 100644 --- a/src/test/cls_rbd/test_cls_rbd.cc +++ b/src/test/cls_rbd/test_cls_rbd.cc @@ -1645,12 +1645,12 @@ TEST_F(TestClsRbd, mirror_image_status) { librados::IoCtx *m_ioctx; WatchCtx(librados::IoCtx *ioctx) : m_ioctx(ioctx) {} - virtual void handle_notify(uint64_t notify_id, uint64_t cookie, - uint64_t notifier_id, bufferlist& bl_) { + void handle_notify(uint64_t notify_id, uint64_t cookie, + uint64_t notifier_id, bufferlist& bl_) override { bufferlist bl; m_ioctx->notify_ack(RBD_MIRRORING, notify_id, cookie, bl); } - virtual void handle_error(uint64_t cookie, int err) {} + void handle_error(uint64_t cookie, int err) override {} }; map images; diff --git a/src/test/librbd/fsx.cc b/src/test/librbd/fsx.cc index 5666d9305e8..d2a221f6da5 100644 --- a/src/test/librbd/fsx.cc +++ b/src/test/librbd/fsx.cc @@ -272,12 +272,12 @@ struct ReplayHandler : public journal::ReplayHandler { on_finish(on_finish) { } - virtual void get() { + void get() override { } - virtual void put() { + void put() override { } - virtual void handle_entries_available() { + void handle_entries_available() override { while (true) { journal::ReplayEntry replay_entry; if (!journaler->try_pop_front(&replay_entry)) { @@ -288,7 +288,7 @@ struct ReplayHandler : public journal::ReplayHandler { } } - virtual void handle_complete(int r) { + void handle_complete(int r) override { on_finish->complete(r); } }; diff --git a/src/test/librbd/journal/test_Entries.cc b/src/test/librbd/journal/test_Entries.cc index 6ceb4d1547d..21fd17c594c 100644 --- a/src/test/librbd/journal/test_Entries.cc +++ b/src/test/librbd/journal/test_Entries.cc @@ -32,18 +32,18 @@ public: : lock("ReplayHandler::lock"), entries_available(false), complete(false) { } - virtual void get() { + void get() override { } - virtual void put() { + void put() override { } - virtual void handle_entries_available() { + void handle_entries_available() override { Mutex::Locker locker(lock); entries_available = true; cond.Signal(); } - virtual void handle_complete(int r) { + void handle_complete(int r) override { Mutex::Locker locker(lock); complete = true; cond.Signal(); @@ -53,7 +53,7 @@ public: ReplayHandler m_replay_handler; Journalers m_journalers; - virtual void TearDown() { + void TearDown() override { for (Journalers::iterator it = m_journalers.begin(); it != m_journalers.end(); ++it) { journal::Journaler *journaler = *it; diff --git a/src/test/librbd/test_BlockGuard.cc b/src/test/librbd/test_BlockGuard.cc index b16188b04a4..e41e5882549 100644 --- a/src/test/librbd/test_BlockGuard.cc +++ b/src/test/librbd/test_BlockGuard.cc @@ -33,7 +33,7 @@ public: typedef BlockGuard OpBlockGuard; - virtual void SetUp() override { + void SetUp() override { TestFixture::SetUp(); m_cct = reinterpret_cast(m_ioctx.cct()); } diff --git a/src/test/librbd/test_ImageWatcher.cc b/src/test/librbd/test_ImageWatcher.cc index 605da612f9d..740d030a618 100644 --- a/src/test/librbd/test_ImageWatcher.cc +++ b/src/test/librbd/test_ImageWatcher.cc @@ -58,10 +58,10 @@ public: return m_parent.m_ioctx.unwatch2(m_handle); } - virtual void handle_notify(uint64_t notify_id, + void handle_notify(uint64_t notify_id, uint64_t cookie, uint64_t notifier_id, - bufferlist& bl) { + bufferlist& bl) override { try { int op; bufferlist payload; @@ -93,7 +93,7 @@ public: } } - virtual void handle_error(uint64_t cookie, int err) { + void handle_error(uint64_t cookie, int err) override { std::cerr << "ERROR: " << cookie << ", " << cpp_strerror(err) << std::endl; } @@ -108,7 +108,7 @@ public: uint64_t m_handle; }; - virtual void TearDown() { + void TearDown() override { deregister_image_watch(); TestFixture::TearDown(); } @@ -226,7 +226,7 @@ struct ProgressContext : public librbd::ProgressContext { ProgressContext() : mutex("ProgressContext::mutex"), received(false), offset(0), total(0) {} - virtual int update_progress(uint64_t offset_, uint64_t total_) { + int update_progress(uint64_t offset_, uint64_t total_) override { Mutex::Locker l(mutex); offset = offset_; total = total_; diff --git a/src/test/librbd/test_MirroringWatcher.cc b/src/test/librbd/test_MirroringWatcher.cc index 96756b8398c..c1365a5e0f5 100644 --- a/src/test/librbd/test_MirroringWatcher.cc +++ b/src/test/librbd/test_MirroringWatcher.cc @@ -39,7 +39,7 @@ using ::testing::WithArg; class TestMirroringWatcher : public TestFixture { public: - virtual void SetUp() { + void SetUp() override { TestFixture::SetUp(); bufferlist bl; @@ -58,7 +58,7 @@ public: } } - virtual void TearDown() { + void TearDown() override { if (m_image_watcher != nullptr) { C_SaferCond ctx; m_image_watcher->unregister_watch(&ctx); diff --git a/src/test/librbd/test_internal.cc b/src/test/librbd/test_internal.cc index 18288632523..fc192959773 100644 --- a/src/test/librbd/test_internal.cc +++ b/src/test/librbd/test_internal.cc @@ -27,7 +27,7 @@ public: typedef std::vector > Snaps; - virtual void TearDown() { + void TearDown() override { unlock_image(); for (Snaps::iterator iter = m_snaps.begin(); iter != m_snaps.end(); ++iter) { librbd::ImageCtx *ictx; @@ -69,7 +69,7 @@ public: class DummyContext : public Context { public: - virtual void finish(int r) { + void finish(int r) override { } }; diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc index adee4e6483b..89d0942ab86 100644 --- a/src/test/librbd/test_librbd.cc +++ b/src/test/librbd/test_librbd.cc @@ -179,7 +179,7 @@ public: } } - virtual void SetUp() { + void SetUp() override { ASSERT_NE("", m_pool_name = create_pool()); } @@ -686,7 +686,7 @@ TEST_F(TestLibRBD, UpdateWatchAndResizePP) struct Watcher : public librbd::UpdateWatchCtx { Watcher(librbd::Image &image) : m_image(image), m_lock("lock") { } - void handle_notify() { + void handle_notify() override { librbd::image_info_t info; ASSERT_EQ(0, m_image.stat(info, sizeof(info))); Mutex::Locker locker(m_lock); @@ -887,7 +887,7 @@ TEST_F(TestLibRBD, TestCopy) class PrintProgress : public librbd::ProgressContext { public: - int update_progress(uint64_t offset, uint64_t src_size) + int update_progress(uint64_t offset, uint64_t src_size) override { float percent = ((float)offset * 100) / src_size; printf("%3.2f%% done\n", percent); @@ -4033,7 +4033,7 @@ class RBDWriter : public Thread { public: explicit RBDWriter(librbd::Image &image) : m_image(image) {}; protected: - void *entry() { + void *entry() override { librbd::image_info_t info; int r = m_image.stat(info, sizeof(info)); assert(r == 0); @@ -5137,7 +5137,7 @@ TEST_F(TestLibRBD, ExclusiveLock) }; protected: - void *entry() { + void *entry() override { for (int i = 0; i < 10; i++) { { Mutex::Locker locker(m_lock); diff --git a/src/test/librbd/test_mirroring.cc b/src/test/librbd/test_mirroring.cc index 244bb9247fc..b2c0cff5ae5 100644 --- a/src/test/librbd/test_mirroring.cc +++ b/src/test/librbd/test_mirroring.cc @@ -39,13 +39,13 @@ public: TestMirroring() {} - virtual void TearDown() { + void TearDown() override { unlock_image(); TestFixture::TearDown(); } - virtual void SetUp() { + void SetUp() override { ASSERT_EQ(0, _rados.ioctx_create(_pool_name.c_str(), m_ioctx)); } @@ -662,13 +662,13 @@ TEST_F(TestMirroring, RemoveBootstrapped) struct MirrorWatcher : public librados::WatchCtx2 { MirrorWatcher(librados::IoCtx &ioctx) : m_ioctx(ioctx) { } - virtual void handle_notify(uint64_t notify_id, uint64_t cookie, - uint64_t notifier_id, bufferlist& bl) { + void handle_notify(uint64_t notify_id, uint64_t cookie, + uint64_t notifier_id, bufferlist& bl) override { // received IMAGE_UPDATED notification from remove m_notified = true; m_ioctx.notify_ack(RBD_MIRRORING, notify_id, cookie, bl); } - virtual void handle_error(uint64_t cookie, int err) { + void handle_error(uint64_t cookie, int err) override { } librados::IoCtx &m_ioctx; bool m_notified = false; diff --git a/src/test/librbd/test_mock_Journal.cc b/src/test/librbd/test_mock_Journal.cc index a95fb5fb461..04847e0fe03 100644 --- a/src/test/librbd/test_mock_Journal.cc +++ b/src/test/librbd/test_mock_Journal.cc @@ -234,7 +234,7 @@ public: TestMockJournal() : m_lock("lock") { } - ~TestMockJournal() { + ~TestMockJournal() override { assert(m_commit_contexts.empty()); } @@ -250,7 +250,7 @@ public: const ReplayAction &replay_action) : replay_handler(replay_handler), replay_action(replay_action) { } - virtual void finish(int r) { + void finish(int r) override { if (replay_action) { replay_action(*replay_handler); } @@ -1239,13 +1239,13 @@ TEST_F(TestMockJournal, CloseListenerEvent) { struct Listener : public journal::Listener { C_SaferCond ctx; - virtual void handle_close() { + void handle_close() override { ctx.complete(0); } - virtual void handle_resync() { + void handle_resync() override { ADD_FAILURE() << "unexpected resync request"; } - virtual void handle_promoted() { + void handle_promoted() override { ADD_FAILURE() << "unexpected promotion event"; } } listener; @@ -1273,13 +1273,13 @@ TEST_F(TestMockJournal, ResyncRequested) { struct Listener : public journal::Listener { C_SaferCond ctx; - virtual void handle_close() { + void handle_close() override { ADD_FAILURE() << "unexpected close action"; } - virtual void handle_resync() { + void handle_resync() override { ctx.complete(0); } - virtual void handle_promoted() { + void handle_promoted() override { ADD_FAILURE() << "unexpected promotion event"; } } listener; @@ -1325,13 +1325,13 @@ TEST_F(TestMockJournal, ForcePromoted) { struct Listener : public journal::Listener { C_SaferCond ctx; - virtual void handle_close() { + void handle_close() override { ADD_FAILURE() << "unexpected close action"; } - virtual void handle_resync() { + void handle_resync() override { ADD_FAILURE() << "unexpected resync event"; } - virtual void handle_promoted() { + void handle_promoted() override { ctx.complete(0); } } listener; diff --git a/src/test/librbd/watcher/test_mock_RewatchRequest.cc b/src/test/librbd/watcher/test_mock_RewatchRequest.cc index 1070df30618..3b42b0e9924 100644 --- a/src/test/librbd/watcher/test_mock_RewatchRequest.cc +++ b/src/test/librbd/watcher/test_mock_RewatchRequest.cc @@ -57,11 +57,11 @@ struct TestMockWatcherRewatchRequest : public TestMockFixture { } struct WatchCtx : public librados::WatchCtx2 { - virtual void handle_notify(uint64_t, uint64_t, uint64_t, - ceph::bufferlist&) { + void handle_notify(uint64_t, uint64_t, uint64_t, + ceph::bufferlist&) override { assert(false); } - virtual void handle_error(uint64_t, int) { + void handle_error(uint64_t, int) override { assert(false); } }; diff --git a/src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc b/src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc index 9acb0f0ed8a..c6dee185932 100644 --- a/src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc +++ b/src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc @@ -284,7 +284,7 @@ public: typedef OpenLocalImageRequest MockOpenLocalImageRequest; typedef std::list Tags; - void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc b/src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc index d18fade1183..297fd6bf7ad 100644 --- a/src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc +++ b/src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc @@ -205,7 +205,7 @@ public: typedef OpenImageRequest MockOpenImageRequest; typedef CloseImageRequest MockCloseImageRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_replayer/test_mock_EventPreprocessor.cc b/src/test/rbd_mirror/image_replayer/test_mock_EventPreprocessor.cc index 0ef282003b6..9929f2ad586 100644 --- a/src/test/rbd_mirror/image_replayer/test_mock_EventPreprocessor.cc +++ b/src/test/rbd_mirror/image_replayer/test_mock_EventPreprocessor.cc @@ -46,7 +46,7 @@ class TestMockImageReplayerEventPreprocessor : public TestMockFixture { public: typedef EventPreprocessor MockEventPreprocessor; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_sync/test_mock_ImageCopyRequest.cc b/src/test/rbd_mirror/image_sync/test_mock_ImageCopyRequest.cc index 5ab67ca19f9..a36f0bb10f2 100644 --- a/src/test/rbd_mirror/image_sync/test_mock_ImageCopyRequest.cc +++ b/src/test/rbd_mirror/image_sync/test_mock_ImageCopyRequest.cc @@ -95,7 +95,7 @@ public: typedef ImageCopyRequest MockImageCopyRequest; typedef ObjectCopyRequest MockObjectCopyRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_sync/test_mock_ObjectCopyRequest.cc b/src/test/rbd_mirror/image_sync/test_mock_ObjectCopyRequest.cc index 5b3006994fd..e1177bf0680 100644 --- a/src/test/rbd_mirror/image_sync/test_mock_ObjectCopyRequest.cc +++ b/src/test/rbd_mirror/image_sync/test_mock_ObjectCopyRequest.cc @@ -71,7 +71,7 @@ class TestMockImageSyncObjectCopyRequest : public TestMockFixture { public: typedef ObjectCopyRequest MockObjectCopyRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_sync/test_mock_SnapshotCopyRequest.cc b/src/test/rbd_mirror/image_sync/test_mock_SnapshotCopyRequest.cc index a962f5a8e80..5b2ca67d110 100644 --- a/src/test/rbd_mirror/image_sync/test_mock_SnapshotCopyRequest.cc +++ b/src/test/rbd_mirror/image_sync/test_mock_SnapshotCopyRequest.cc @@ -94,7 +94,7 @@ public: typedef SnapshotCopyRequest MockSnapshotCopyRequest; typedef SnapshotCreateRequest MockSnapshotCreateRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_sync/test_mock_SnapshotCreateRequest.cc b/src/test/rbd_mirror/image_sync/test_mock_SnapshotCreateRequest.cc index f664ed599a1..b395b3e7763 100644 --- a/src/test/rbd_mirror/image_sync/test_mock_SnapshotCreateRequest.cc +++ b/src/test/rbd_mirror/image_sync/test_mock_SnapshotCreateRequest.cc @@ -46,7 +46,7 @@ class TestMockImageSyncSnapshotCreateRequest : public TestMockFixture { public: typedef SnapshotCreateRequest MockSnapshotCreateRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_sync/test_mock_SyncPointCreateRequest.cc b/src/test/rbd_mirror/image_sync/test_mock_SyncPointCreateRequest.cc index 0dfe10e4b02..c9c3316bfa5 100644 --- a/src/test/rbd_mirror/image_sync/test_mock_SyncPointCreateRequest.cc +++ b/src/test/rbd_mirror/image_sync/test_mock_SyncPointCreateRequest.cc @@ -48,7 +48,7 @@ class TestMockImageSyncSyncPointCreateRequest : public TestMockFixture { public: typedef SyncPointCreateRequest MockSyncPointCreateRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/image_sync/test_mock_SyncPointPruneRequest.cc b/src/test/rbd_mirror/image_sync/test_mock_SyncPointPruneRequest.cc index 7d037654640..4bec0f94e49 100644 --- a/src/test/rbd_mirror/image_sync/test_mock_SyncPointPruneRequest.cc +++ b/src/test/rbd_mirror/image_sync/test_mock_SyncPointPruneRequest.cc @@ -50,7 +50,7 @@ class TestMockImageSyncSyncPointPruneRequest : public TestMockFixture { public: typedef SyncPointPruneRequest MockSyncPointPruneRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/test_ImageDeleter.cc b/src/test/rbd_mirror/test_ImageDeleter.cc index 88ca29cebc5..e57ac7e0ab1 100644 --- a/src/test/rbd_mirror/test_ImageDeleter.cc +++ b/src/test/rbd_mirror/test_ImageDeleter.cc @@ -58,7 +58,7 @@ public: m_local_pool_id = _rados->pool_lookup(_local_pool_name.c_str()); } - void SetUp() { + void SetUp() override { TestFixture::SetUp(); librbd::mirror_mode_set(m_local_io_ctx, RBD_MIRROR_MODE_IMAGE); @@ -82,7 +82,7 @@ public: EXPECT_EQ(0, ictx->state->close()); } - void TearDown() { + void TearDown() override { remove_image(); TestFixture::TearDown(); delete m_deleter; diff --git a/src/test/rbd_mirror/test_ImageReplayer.cc b/src/test/rbd_mirror/test_ImageReplayer.cc index e4231f75cc0..29d56dd64ea 100644 --- a/src/test/rbd_mirror/test_ImageReplayer.cc +++ b/src/test/rbd_mirror/test_ImageReplayer.cc @@ -62,8 +62,8 @@ public: : test(test), oid(oid), lock("C_WatchCtx::lock"), notified(false) { } - virtual void handle_notify(uint64_t notify_id, uint64_t cookie, - uint64_t notifier_id, bufferlist& bl_) { + void handle_notify(uint64_t notify_id, uint64_t cookie, + uint64_t notifier_id, bufferlist& bl_) override { bufferlist bl; test->m_remote_ioctx.notify_ack(oid, notify_id, cookie, bl); @@ -72,7 +72,7 @@ public: cond.Signal(); } - virtual void handle_error(uint64_t cookie, int err) { + void handle_error(uint64_t cookie, int err) override { ASSERT_EQ(0, err); } }; @@ -118,7 +118,7 @@ public: m_image_sync_throttler.reset(new rbd::mirror::ImageSyncThrottler<>()); } - ~TestImageReplayer() + ~TestImageReplayer() override { unwatch(); diff --git a/src/test/rbd_mirror/test_ImageSync.cc b/src/test/rbd_mirror/test_ImageSync.cc index e5de1065270..2b79e6ba2da 100644 --- a/src/test/rbd_mirror/test_ImageSync.cc +++ b/src/test/rbd_mirror/test_ImageSync.cc @@ -48,7 +48,7 @@ void scribble(librbd::ImageCtx *image_ctx, int num_ops, size_t max_size) class TestImageSync : public TestFixture { public: - virtual void SetUp() { + void SetUp() override { TestFixture::SetUp(); create_and_open(m_local_io_ctx, &m_local_image_ctx); create_and_open(m_remote_io_ctx, &m_remote_image_ctx); @@ -66,7 +66,7 @@ public: ASSERT_EQ(0, m_remote_journaler->register_client(client_data_bl)); } - virtual void TearDown() { + void TearDown() override { TestFixture::TearDown(); delete m_remote_journaler; } diff --git a/src/test/rbd_mirror/test_LeaderWatcher.cc b/src/test/rbd_mirror/test_LeaderWatcher.cc index 6d0533f3797..a77ebd4ba22 100644 --- a/src/test/rbd_mirror/test_LeaderWatcher.cc +++ b/src/test/rbd_mirror/test_LeaderWatcher.cc @@ -47,7 +47,7 @@ public: return m_release_count; } - virtual void post_acquire_handler(Context *on_finish) { + void post_acquire_handler(Context *on_finish) override { Mutex::Locker locker(m_test_lock); m_acquire_count++; on_finish->complete(m_on_acquire_r); @@ -58,7 +58,7 @@ public: } } - virtual void pre_release_handler(Context *on_finish) { + void pre_release_handler(Context *on_finish) override { Mutex::Locker locker(m_test_lock); m_release_count++; on_finish->complete(m_on_release_r); @@ -86,7 +86,7 @@ public: std::list > m_connections; - virtual void SetUp() { + void SetUp() override { TestFixture::SetUp(); EXPECT_EQ(0, librbd::mirror_mode_set(m_local_io_ctx, RBD_MIRROR_MODE_POOL)); diff --git a/src/test/rbd_mirror/test_mock_ImageReplayer.cc b/src/test/rbd_mirror/test_mock_ImageReplayer.cc index 3503b76be0e..5b717c5b5fe 100644 --- a/src/test/rbd_mirror/test_mock_ImageReplayer.cc +++ b/src/test/rbd_mirror/test_mock_ImageReplayer.cc @@ -249,7 +249,7 @@ public: typedef librbd::journal::Replay MockReplay; typedef ImageReplayer MockImageReplayer; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; @@ -270,7 +270,7 @@ public: m_remote_io_ctx.get_id(), m_remote_image_ctx->id, "global image id"); } - virtual void TearDown() { + void TearDown() override { delete m_image_replayer; TestMockFixture::TearDown(); diff --git a/src/test/rbd_mirror/test_mock_ImageSync.cc b/src/test/rbd_mirror/test_mock_ImageSync.cc index 9fbc7607538..921525d735e 100644 --- a/src/test/rbd_mirror/test_mock_ImageSync.cc +++ b/src/test/rbd_mirror/test_mock_ImageSync.cc @@ -180,7 +180,7 @@ public: typedef image_sync::SyncPointCreateRequest MockSyncPointCreateRequest; typedef image_sync::SyncPointPruneRequest MockSyncPointPruneRequest; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; diff --git a/src/test/rbd_mirror/test_mock_ImageSyncThrottler.cc b/src/test/rbd_mirror/test_mock_ImageSyncThrottler.cc index 252cbba27de..2ce53f32bac 100644 --- a/src/test/rbd_mirror/test_mock_ImageSyncThrottler.cc +++ b/src/test/rbd_mirror/test_mock_ImageSyncThrottler.cc @@ -109,7 +109,7 @@ class TestMockImageSyncThrottler : public TestMockFixture { public: typedef ImageSyncThrottler MockImageSyncThrottler; - virtual void SetUp() { + void SetUp() override { TestMockFixture::SetUp(); librbd::RBD rbd; @@ -126,7 +126,7 @@ public: m_mock_journaler = new journal::MockJournaler(); } - virtual void TearDown() { + void TearDown() override { MockImageSync::instances.clear(); delete mock_sync_throttler; delete m_mock_local_image_ctx; diff --git a/src/tools/rbd/action/Export.cc b/src/tools/rbd/action/Export.cc index 6d50413b6d1..a0f0ddbf6bc 100644 --- a/src/tools/rbd/action/Export.cc +++ b/src/tools/rbd/action/Export.cc @@ -46,7 +46,7 @@ public: } } - virtual void finish(int r) + void finish(int r) override { BOOST_SCOPE_EXIT((&m_throttle) (&r)) { diff --git a/src/tools/rbd/action/ExportDiff.cc b/src/tools/rbd/action/ExportDiff.cc index 13e7346cf3f..df74eab32d3 100644 --- a/src/tools/rbd/action/ExportDiff.cc +++ b/src/tools/rbd/action/ExportDiff.cc @@ -74,7 +74,7 @@ public: } protected: - virtual void finish(int r) { + void finish(int r) override { if (r >= 0) { if (m_exists) { m_exists = !m_read_data.is_zero(); diff --git a/src/tools/rbd/action/Import.cc b/src/tools/rbd/action/Import.cc index 4fd9a36eef5..2d721846cb6 100644 --- a/src/tools/rbd/action/Import.cc +++ b/src/tools/rbd/action/Import.cc @@ -46,7 +46,7 @@ public: } } - virtual void finish(int r) + void finish(int r) override { if (r < 0) { std::cerr << "rbd: error writing to destination image at offset " diff --git a/src/tools/rbd/action/Journal.cc b/src/tools/rbd/action/Journal.cc index 0e3e6b3d62c..3485dc1f975 100644 --- a/src/tools/rbd/action/Journal.cc +++ b/src/tools/rbd/action/Journal.cc @@ -317,13 +317,13 @@ protected: JournalPlayer *journal; explicit ReplayHandler(JournalPlayer *_journal) : journal(_journal) {} - virtual void get() {} - virtual void put() {} + void get() override {} + void put() override {} - virtual void handle_entries_available() { + void handle_entries_available() override { journal->handle_replay_ready(); } - virtual void handle_complete(int r) { + void handle_complete(int r) override { journal->handle_replay_complete(r); } }; @@ -388,7 +388,7 @@ public: m_s() { } - int exec() { + int exec() override { int r = JournalPlayer::exec(); m_s.print(); return r; @@ -409,7 +409,7 @@ private: }; int process_entry(::journal::ReplayEntry replay_entry, - uint64_t tag_id) { + uint64_t tag_id) override { m_s.total++; if (m_verbose) { std::cout << "Entry: tag_id=" << tag_id << ", commit_tid=" @@ -486,7 +486,7 @@ public: m_s() { } - int exec() { + int exec() override { std::string header("# journal_id: " + m_journal_id + "\n"); int r; r = safe_write(m_fd, header.c_str(), header.size()); @@ -514,7 +514,7 @@ private: }; int process_entry(::journal::ReplayEntry replay_entry, - uint64_t tag_id) { + uint64_t tag_id) override { m_s.total++; int type = -1; bufferlist entry = replay_entry.get_data(); diff --git a/src/tools/rbd/action/Watch.cc b/src/tools/rbd/action/Watch.cc index 80caeeee463..741dc10ecdc 100644 --- a/src/tools/rbd/action/Watch.cc +++ b/src/tools/rbd/action/Watch.cc @@ -24,12 +24,12 @@ public: { } - virtual ~RbdWatchCtx() {} + ~RbdWatchCtx() override {} - virtual void handle_notify(uint64_t notify_id, + void handle_notify(uint64_t notify_id, uint64_t cookie, uint64_t notifier_id, - bufferlist& bl) { + bufferlist& bl) override { std::cout << m_image_name << " received notification: notify_id=" << notify_id << ", cookie=" << cookie << ", notifier_id=" << notifier_id << ", bl.length=" << bl.length() << std::endl; @@ -37,7 +37,7 @@ public: m_io_ctx.notify_ack(m_header_oid, notify_id, cookie, reply); } - virtual void handle_error(uint64_t cookie, int err) { + void handle_error(uint64_t cookie, int err) override { std::cerr << m_image_name << " received error: cookie=" << cookie << ", " << "err=" << cpp_strerror(err) << std::endl; } diff --git a/src/tools/rbd_mirror/ImageDeleter.cc b/src/tools/rbd_mirror/ImageDeleter.cc index 39bf57dd813..39f85ae7b34 100644 --- a/src/tools/rbd_mirror/ImageDeleter.cc +++ b/src/tools/rbd_mirror/ImageDeleter.cc @@ -65,7 +65,7 @@ class StatusCommand : public ImageDeleterAdminSocketCommand { public: explicit StatusCommand(ImageDeleter *image_del) : image_del(image_del) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { image_del->print_status(f, ss); return true; } @@ -75,14 +75,14 @@ private: }; struct DeleteJournalPolicy : public librbd::journal::Policy { - virtual bool append_disabled() const { + bool append_disabled() const override { return true; } - virtual bool journal_disabled() const { + bool journal_disabled() const override { return false; } - virtual void allocate_tag_on_lock(Context *on_finish) { + void allocate_tag_on_lock(Context *on_finish) override { on_finish->complete(0); } }; @@ -106,7 +106,7 @@ public: } - ~ImageDeleterAdminSocketHook() { + ~ImageDeleterAdminSocketHook() override { for (Commands::const_iterator i = commands.begin(); i != commands.end(); ++i) { (void)admin_socket->unregister_command(i->first); @@ -115,7 +115,7 @@ public: } bool call(std::string command, cmdmap_t& cmdmap, std::string format, - bufferlist& out) { + bufferlist& out) override { Commands::const_iterator i = commands.find(command); assert(i != commands.end()); Formatter *f = Formatter::create(format); diff --git a/src/tools/rbd_mirror/ImageReplayer.cc b/src/tools/rbd_mirror/ImageReplayer.cc index 132db547da9..b0f2a553c5c 100644 --- a/src/tools/rbd_mirror/ImageReplayer.cc +++ b/src/tools/rbd_mirror/ImageReplayer.cc @@ -57,13 +57,13 @@ template struct ReplayHandler : public ::journal::ReplayHandler { ImageReplayer *replayer; ReplayHandler(ImageReplayer *replayer) : replayer(replayer) {} - virtual void get() {} - virtual void put() {} + void get() override {} + void put() override {} - virtual void handle_entries_available() { + void handle_entries_available() override { replayer->handle_replay_ready(); } - virtual void handle_complete(int r) { + void handle_complete(int r) override { std::stringstream ss; if (r < 0) { ss << "replay completed with error: " << cpp_strerror(r); @@ -83,7 +83,7 @@ class StatusCommand : public ImageReplayerAdminSocketCommand { public: explicit StatusCommand(ImageReplayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->print_status(f, ss); return true; } @@ -97,7 +97,7 @@ class StartCommand : public ImageReplayerAdminSocketCommand { public: explicit StartCommand(ImageReplayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->start(nullptr, true); return true; } @@ -111,7 +111,7 @@ class StopCommand : public ImageReplayerAdminSocketCommand { public: explicit StopCommand(ImageReplayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->stop(nullptr, true); return true; } @@ -125,7 +125,7 @@ class RestartCommand : public ImageReplayerAdminSocketCommand { public: explicit RestartCommand(ImageReplayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->restart(); return true; } @@ -139,7 +139,7 @@ class FlushCommand : public ImageReplayerAdminSocketCommand { public: explicit FlushCommand(ImageReplayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { C_SaferCond cond; replayer->flush(&cond); int r = cond.wait(); @@ -199,7 +199,7 @@ public: } } - ~ImageReplayerAdminSocketHook() { + ~ImageReplayerAdminSocketHook() override { for (Commands::const_iterator i = commands.begin(); i != commands.end(); ++i) { (void)admin_socket->unregister_command(i->first); @@ -208,7 +208,7 @@ public: } bool call(std::string command, cmdmap_t& cmdmap, std::string format, - bufferlist& out) { + bufferlist& out) override { Commands::const_iterator i = commands.find(command); assert(i != commands.end()); Formatter *f = Formatter::create(format); diff --git a/src/tools/rbd_mirror/ImageSyncThrottler.cc b/src/tools/rbd_mirror/ImageSyncThrottler.cc index f77a5c46b22..9d3123c15df 100644 --- a/src/tools/rbd_mirror/ImageSyncThrottler.cc +++ b/src/tools/rbd_mirror/ImageSyncThrottler.cc @@ -41,7 +41,7 @@ struct ImageSyncThrottler::C_SyncHolder : public Context { m_local_pool_image_id(local_pool_image_id), m_on_finish(on_finish) { } - virtual void finish(int r) { + void finish(int r) override { m_sync_throttler->handle_sync_finished(this); m_on_finish->complete(r); } diff --git a/src/tools/rbd_mirror/Mirror.cc b/src/tools/rbd_mirror/Mirror.cc index e9ef90694f1..66d2f2e9c08 100644 --- a/src/tools/rbd_mirror/Mirror.cc +++ b/src/tools/rbd_mirror/Mirror.cc @@ -43,7 +43,7 @@ class StatusCommand : public MirrorAdminSocketCommand { public: explicit StatusCommand(Mirror *mirror) : mirror(mirror) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { mirror->print_status(f, ss); return true; } @@ -56,7 +56,7 @@ class StartCommand : public MirrorAdminSocketCommand { public: explicit StartCommand(Mirror *mirror) : mirror(mirror) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { mirror->start(); return true; } @@ -69,7 +69,7 @@ class StopCommand : public MirrorAdminSocketCommand { public: explicit StopCommand(Mirror *mirror) : mirror(mirror) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { mirror->stop(); return true; } @@ -82,7 +82,7 @@ class RestartCommand : public MirrorAdminSocketCommand { public: explicit RestartCommand(Mirror *mirror) : mirror(mirror) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { mirror->restart(); return true; } @@ -95,7 +95,7 @@ class FlushCommand : public MirrorAdminSocketCommand { public: explicit FlushCommand(Mirror *mirror) : mirror(mirror) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { mirror->flush(); return true; } @@ -108,7 +108,7 @@ class LeaderReleaseCommand : public MirrorAdminSocketCommand { public: explicit LeaderReleaseCommand(Mirror *mirror) : mirror(mirror) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { mirror->release_leader(); return true; } @@ -169,7 +169,7 @@ public: } } - ~MirrorAdminSocketHook() { + ~MirrorAdminSocketHook() override { for (Commands::const_iterator i = commands.begin(); i != commands.end(); ++i) { (void)admin_socket->unregister_command(i->first); @@ -178,7 +178,7 @@ public: } bool call(std::string command, cmdmap_t& cmdmap, std::string format, - bufferlist& out) { + bufferlist& out) override { Commands::const_iterator i = commands.find(command); assert(i != commands.end()); Formatter *f = Formatter::create(format); diff --git a/src/tools/rbd_mirror/Replayer.cc b/src/tools/rbd_mirror/Replayer.cc index 2da5d86bfe6..f58e6188668 100644 --- a/src/tools/rbd_mirror/Replayer.cc +++ b/src/tools/rbd_mirror/Replayer.cc @@ -50,7 +50,7 @@ class StatusCommand : public ReplayerAdminSocketCommand { public: explicit StatusCommand(Replayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->print_status(f, ss); return true; } @@ -63,7 +63,7 @@ class StartCommand : public ReplayerAdminSocketCommand { public: explicit StartCommand(Replayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->start(); return true; } @@ -76,7 +76,7 @@ class StopCommand : public ReplayerAdminSocketCommand { public: explicit StopCommand(Replayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->stop(true); return true; } @@ -89,7 +89,7 @@ class RestartCommand : public ReplayerAdminSocketCommand { public: explicit RestartCommand(Replayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->restart(); return true; } @@ -102,7 +102,7 @@ class FlushCommand : public ReplayerAdminSocketCommand { public: explicit FlushCommand(Replayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->flush(); return true; } @@ -115,7 +115,7 @@ class LeaderReleaseCommand : public ReplayerAdminSocketCommand { public: explicit LeaderReleaseCommand(Replayer *replayer) : replayer(replayer) {} - bool call(Formatter *f, stringstream *ss) { + bool call(Formatter *f, stringstream *ss) override { replayer->release_leader(); return true; } @@ -177,7 +177,7 @@ public: } } - ~ReplayerAdminSocketHook() { + ~ReplayerAdminSocketHook() override { for (Commands::const_iterator i = commands.begin(); i != commands.end(); ++i) { (void)admin_socket->unregister_command(i->first); @@ -186,7 +186,7 @@ public: } bool call(std::string command, cmdmap_t& cmdmap, std::string format, - bufferlist& out) { + bufferlist& out) override { Commands::const_iterator i = commands.find(command); assert(i != commands.end()); Formatter *f = Formatter::create(format); diff --git a/src/tools/rbd_mirror/image_replayer/OpenLocalImageRequest.cc b/src/tools/rbd_mirror/image_replayer/OpenLocalImageRequest.cc index 7862b906a8e..cf37048aa5d 100644 --- a/src/tools/rbd_mirror/image_replayer/OpenLocalImageRequest.cc +++ b/src/tools/rbd_mirror/image_replayer/OpenLocalImageRequest.cc @@ -32,11 +32,11 @@ namespace { struct MirrorExclusiveLockPolicy : public librbd::exclusive_lock::Policy { - virtual bool may_auto_request_lock() { + bool may_auto_request_lock() override { return false; } - virtual int lock_requested(bool force) { + int lock_requested(bool force) override { // TODO: interlock is being requested (e.g. local promotion) // Wait for demote event from peer or abort replay on forced // promotion. @@ -51,15 +51,15 @@ struct MirrorJournalPolicy : public librbd::journal::Policy { MirrorJournalPolicy(ContextWQ *work_queue) : work_queue(work_queue) { } - virtual bool append_disabled() const { + bool append_disabled() const override { // avoid recording any events to the local journal return true; } - virtual bool journal_disabled() const { + bool journal_disabled() const override { return false; } - virtual void allocate_tag_on_lock(Context *on_finish) { + void allocate_tag_on_lock(Context *on_finish) override { // rbd-mirror will manually create tags by copying them from the peer work_queue->queue(on_finish, 0); } diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc index 08384d42eba..c3888c4e017 100644 --- a/src/tools/rbd_nbd/rbd-nbd.cc +++ b/src/tools/rbd_nbd/rbd-nbd.cc @@ -337,7 +337,7 @@ private: ,func(_func) {} protected: - virtual void* entry() + void* entry() override { (server.*func)(); server.shutdown(); @@ -428,9 +428,9 @@ public: , size(_size) { } - virtual ~NBDWatchCtx() {} + ~NBDWatchCtx() override {} - virtual void handle_notify() + void handle_notify() override { librbd::image_info_t info; if (image.stat(info, sizeof(info)) == 0) { -- 2.47.3