summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/client/Client.h4
-rw-r--r--src/common/Cond.h2
-rw-r--r--src/common/ceph_json.cc4
-rw-r--r--src/common/config.h2
-rw-r--r--src/common/escape.cc2
-rw-r--r--src/common/scrub_types.h8
-rw-r--r--src/crush/CrushLocation.h2
-rw-r--r--src/kv/MemDB.h2
-rw-r--r--src/kv/RocksDBStore.cc4
-rw-r--r--src/librbd/ImageState.cc2
-rw-r--r--src/librbd/Journal.cc2
-rw-r--r--src/librbd/cache/ImageWriteback.h2
-rw-r--r--src/librbd/cache/PassthroughImageCache.h2
-rw-r--r--src/librbd/io/ReadResult.cc2
-rw-r--r--src/mds/CInode.h2
-rw-r--r--src/mds/DamageTable.h2
-rw-r--r--src/mds/OpenFileTable.h2
-rw-r--r--src/mgr/DaemonServer.cc4
-rw-r--r--src/mgr/DaemonState.h4
-rw-r--r--src/mgr/Gil.h2
-rw-r--r--src/mgr/MgrClient.h2
-rw-r--r--src/mgr/MgrSession.h2
-rw-r--r--src/mgr/PyModule.h2
-rw-r--r--src/mgr/PyModuleRegistry.h2
-rw-r--r--src/mgr/PyModuleRunner.h2
-rw-r--r--src/mon/FSCommands.cc6
-rw-r--r--src/msg/async/AsyncMessenger.cc2
-rw-r--r--src/msg/async/dpdk/EventDPDK.h2
-rw-r--r--src/msg/async/dpdk/Packet.h8
-rw-r--r--src/msg/async/dpdk/UserspaceEvent.h2
-rw-r--r--src/msg/async/dpdk/ethernet.h4
-rw-r--r--src/msg/async/dpdk/net.h2
-rw-r--r--src/msg/async/rdma/Infiniband.h4
-rw-r--r--src/msg/async/rdma/RDMAStack.h6
-rw-r--r--src/msg/xio/XioMessenger.h2
-rw-r--r--src/osd/ExtentCache.h2
-rw-r--r--src/osd/OSD.cc2
-rw-r--r--src/osd/OSDCap.h6
-rw-r--r--src/osd/OpQueueItem.h4
-rw-r--r--src/osd/PG.cc2
-rw-r--r--src/osd/PGLog.h2
-rw-r--r--src/osd/PrimaryLogPG.cc10
-rw-r--r--src/osd/PrimaryLogPG.h2
-rw-r--r--src/osd/Watch.h2
-rw-r--r--src/osd/osd_types.h2
-rw-r--r--src/osdc/Journaler.cc2
-rw-r--r--src/osdc/Objecter.h6
-rw-r--r--src/rgw/rgw_acl_swift.h2
-rw-r--r--src/rgw/rgw_asio_frontend.cc2
-rw-r--r--src/rgw/rgw_auth.h4
-rw-r--r--src/rgw/rgw_auth_filters.h2
-rw-r--r--src/rgw/rgw_auth_keystone.cc4
-rw-r--r--src/rgw/rgw_auth_s3.h4
-rw-r--r--src/rgw/rgw_basic_types.h2
-rw-r--r--src/rgw/rgw_civetweb.h2
-rw-r--r--src/rgw/rgw_client_io.h4
-rw-r--r--src/rgw/rgw_client_io_filters.h6
-rw-r--r--src/rgw/rgw_coroutine.h8
-rw-r--r--src/rgw/rgw_cr_rest.h2
-rw-r--r--src/rgw/rgw_crypt.cc4
-rw-r--r--src/rgw/rgw_crypt_sanitize.h2
-rw-r--r--src/rgw/rgw_data_sync.cc6
-rw-r--r--src/rgw/rgw_es_query.cc4
-rw-r--r--src/rgw/rgw_es_query.h6
-rw-r--r--src/rgw/rgw_file.cc2
-rw-r--r--src/rgw/rgw_file.h4
-rw-r--r--src/rgw/rgw_frontend.h4
-rw-r--r--src/rgw/rgw_http_client.cc2
-rw-r--r--src/rgw/rgw_http_client.h2
-rw-r--r--src/rgw/rgw_http_client_curl.cc2
-rw-r--r--src/rgw/rgw_iam_policy.h2
-rw-r--r--src/rgw/rgw_keystone.h10
-rw-r--r--src/rgw/rgw_lc.h2
-rw-r--r--src/rgw/rgw_lc_s3.h6
-rw-r--r--src/rgw/rgw_lib.h2
-rw-r--r--src/rgw/rgw_metadata.h2
-rw-r--r--src/rgw/rgw_op.cc2
-rw-r--r--src/rgw/rgw_op.h6
-rw-r--r--src/rgw/rgw_period_puller.h2
-rw-r--r--src/rgw/rgw_period_pusher.h2
-rw-r--r--src/rgw/rgw_process.h2
-rw-r--r--src/rgw/rgw_rados.h12
-rw-r--r--src/rgw/rgw_realm_reloader.cc2
-rw-r--r--src/rgw/rgw_reshard.h2
-rw-r--r--src/rgw/rgw_rest_client.cc2
-rw-r--r--src/rgw/rgw_rest_config.h2
-rw-r--r--src/rgw/rgw_rest_conn.h2
-rw-r--r--src/rgw/rgw_rest_s3.h10
-rw-r--r--src/rgw/rgw_rest_swift.cc4
-rw-r--r--src/rgw/rgw_rest_swift.h2
-rw-r--r--src/rgw/rgw_sync.cc6
-rw-r--r--src/rgw/rgw_sync.h4
-rw-r--r--src/rgw/rgw_sync_log_trim.cc4
-rw-r--r--src/rgw/rgw_sync_module_aws.cc4
-rw-r--r--src/rgw/rgw_sync_module_es_rest.cc4
-rw-r--r--src/rgw/rgw_sync_module_log.cc4
-rw-r--r--src/rgw/rgw_tar.h2
-rw-r--r--src/test/cls_rbd/test_cls_rbd.cc2
-rw-r--r--src/test/common/test_lru.cc2
-rw-r--r--src/test/common/test_mclock_priority_queue.cc2
-rw-r--r--src/test/common/test_static_ptr.cc2
-rw-r--r--src/test/encoding/test_ceph_time.h2
-rw-r--r--src/test/fio/fio_ceph_objectstore.cc4
-rw-r--r--src/test/librbd/deep_copy/test_mock_ImageCopyRequest.cc2
-rw-r--r--src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc2
-rw-r--r--src/test/librbd/deep_copy/test_mock_SetHeadRequest.cc2
-rw-r--r--src/test/librbd/deep_copy/test_mock_SnapshotCopyRequest.cc2
-rw-r--r--src/test/librbd/deep_copy/test_mock_SnapshotCreateRequest.cc2
-rw-r--r--src/test/librbd/exclusive_lock/test_mock_PostAcquireRequest.cc2
-rw-r--r--src/test/librbd/exclusive_lock/test_mock_PreAcquireRequest.cc2
-rw-r--r--src/test/librbd/journal/test_mock_OpenRequest.cc2
-rw-r--r--src/test/librbd/journal/test_mock_PromoteRequest.cc2
-rw-r--r--src/test/librbd/journal/test_mock_Replay.cc2
-rw-r--r--src/test/librbd/mirror/test_mock_DisableRequest.cc2
-rw-r--r--src/test/librbd/test_librbd.cc4
-rw-r--r--src/test/librbd/test_mirroring.cc2
-rw-r--r--src/test/librbd/test_mock_DeepCopyRequest.cc2
-rw-r--r--src/test/librbd/test_mock_ManagedLock.cc2
-rw-r--r--src/test/librgw_file_aw.cc2
-rw-r--r--src/test/librgw_file_gp.cc2
-rw-r--r--src/test/mon/PGMap.cc2
-rw-r--r--src/test/msgr/test_async_networkstack.cc14
-rw-r--r--src/test/objectstore/BitAllocator_test.cc2
-rw-r--r--src/test/objectstore/store_test_fixture.h2
-rw-r--r--src/test/osd/types.cc4
-rw-r--r--src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc2
-rw-r--r--src/test/rbd_mirror/image_replayer/test_mock_EventPreprocessor.cc2
-rw-r--r--src/test/rbd_mirror/image_sync/test_mock_SyncPointCreateRequest.cc2
-rw-r--r--src/test/rbd_mirror/image_sync/test_mock_SyncPointPruneRequest.cc2
-rw-r--r--src/test/rbd_mirror/pool_watcher/test_mock_RefreshImagesRequest.cc2
-rw-r--r--src/test/rbd_mirror/test_PoolWatcher.cc2
-rw-r--r--src/test/rbd_mirror/test_mock_ImageSync.cc2
-rw-r--r--src/test/rgw/test_rgw_common.h2
-rw-r--r--src/test/rgw/test_rgw_iam_policy.cc2
-rw-r--r--src/test/rgw/test_rgw_period_history.cc2
-rw-r--r--src/test/test_any.cc6
-rw-r--r--src/test/test_denc.cc2
-rw-r--r--src/test/test_mempool.cc2
138 files changed, 217 insertions, 217 deletions
diff --git a/src/client/Client.h b/src/client/Client.h
index e6fde183d28..c1b9c3b1246 100644
--- a/src/client/Client.h
+++ b/src/client/Client.h
@@ -87,7 +87,7 @@ class MDSCommandOp : public CommandOp
public:
mds_gid_t mds_gid;
- MDSCommandOp(ceph_tid_t t) : CommandOp(t) {}
+ explicit MDSCommandOp(ceph_tid_t t) : CommandOp(t) {}
};
/* error code for ceph_fuse */
@@ -204,7 +204,7 @@ struct dir_result_t {
int64_t offset;
string name;
InodeRef inode;
- dentry(int64_t o) : offset(o) {}
+ explicit dentry(int64_t o) : offset(o) {}
dentry(int64_t o, const string& n, const InodeRef& in) :
offset(o), name(n), inode(in) {}
};
diff --git a/src/common/Cond.h b/src/common/Cond.h
index 520a1efeb57..a7df2b5d74b 100644
--- a/src/common/Cond.h
+++ b/src/common/Cond.h
@@ -177,7 +177,7 @@ class C_SaferCond : public Context {
int rval; ///< return value
public:
C_SaferCond() : lock("C_SaferCond"), done(false), rval(0) {}
- C_SaferCond(const std::string &name) : lock(name), done(false), rval(0) {}
+ explicit C_SaferCond(const std::string &name) : lock(name), done(false), rval(0) {}
void finish(int r) override { complete(r); }
/// We overload complete in order to not delete the context
diff --git a/src/common/ceph_json.cc b/src/common/ceph_json.cc
index f748bd290c4..612ecccbfba 100644
--- a/src/common/ceph_json.cc
+++ b/src/common/ceph_json.cc
@@ -643,8 +643,8 @@ struct field_entity {
bool append{false};
field_entity() {}
- field_entity(const string& n) : is_obj(true), name(n) {}
- field_entity(int i) : is_obj(false), index(i) {}
+ explicit field_entity(const string& n) : is_obj(true), name(n) {}
+ explicit field_entity(int i) : is_obj(false), index(i) {}
};
static int parse_entity(const string& s, vector<field_entity> *result)
diff --git a/src/common/config.h b/src/common/config.h
index a3adf29c7ce..61debf3a084 100644
--- a/src/common/config.h
+++ b/src/common/config.h
@@ -127,7 +127,7 @@ public:
} opt_type_t;
// Create a new md_config_t structure.
- md_config_t(bool is_daemon=false);
+ explicit md_config_t(bool is_daemon=false);
~md_config_t();
// Adds a new observer to this configuration. You can do this at any time,
diff --git a/src/common/escape.cc b/src/common/escape.cc
index 4e6b7f7f66a..67d68326c2c 100644
--- a/src/common/escape.cc
+++ b/src/common/escape.cc
@@ -120,7 +120,7 @@ struct hex_formatter {
const char old_fill;
const std::ostream::fmtflags old_flags;
- hex_formatter(std::ostream& out)
+ explicit hex_formatter(std::ostream& out)
: out(out),
old_fill(out.fill('0')),
old_flags(out.setf(out.hex, out.basefield))
diff --git a/src/common/scrub_types.h b/src/common/scrub_types.h
index 88c9a4340c8..494bba324a9 100644
--- a/src/common/scrub_types.h
+++ b/src/common/scrub_types.h
@@ -9,7 +9,7 @@
// wrappers around scrub types to offer the necessary bits other than
// the minimal set that the lirados requires
struct object_id_wrapper : public librados::object_id_t {
- object_id_wrapper(const hobject_t& hoid)
+ explicit object_id_wrapper(const hobject_t& hoid)
: object_id_t{hoid.oid.name, hoid.nspace, hoid.get_key(), hoid.snap}
{}
void encode(bufferlist& bl) const;
@@ -40,7 +40,7 @@ namespace librados {
struct shard_info_wrapper : public librados::shard_info_t {
public:
shard_info_wrapper() = default;
- shard_info_wrapper(const ScrubMap::object& object) {
+ explicit shard_info_wrapper(const ScrubMap::object& object) {
set_object(object);
}
void set_object(const ScrubMap::object& object);
@@ -103,7 +103,7 @@ namespace librados {
}
struct inconsistent_obj_wrapper : librados::inconsistent_obj_t {
- inconsistent_obj_wrapper(const hobject_t& hoid);
+ explicit inconsistent_obj_wrapper(const hobject_t& hoid);
void set_object_info_inconsistency() {
errors |= obj_err_t::OBJECT_INFO_INCONSISTENCY;
@@ -149,7 +149,7 @@ inline void decode(librados::inconsistent_obj_t& obj,
struct inconsistent_snapset_wrapper : public librados::inconsistent_snapset_t {
inconsistent_snapset_wrapper() = default;
- inconsistent_snapset_wrapper(const hobject_t& head);
+ explicit inconsistent_snapset_wrapper(const hobject_t& head);
void set_headless();
// soid claims that it is a head or a snapdir, but its SS_ATTR
// is missing.
diff --git a/src/crush/CrushLocation.h b/src/crush/CrushLocation.h
index bba737ecac9..6a099689379 100644
--- a/src/crush/CrushLocation.h
+++ b/src/crush/CrushLocation.h
@@ -18,7 +18,7 @@ class CrushLocation {
int _parse(const std::string& s);
public:
- CrushLocation(CephContext *c) : cct(c) {
+ explicit CrushLocation(CephContext *c) : cct(c) {
init_on_startup();
}
diff --git a/src/kv/MemDB.h b/src/kv/MemDB.h
index e2fa40a2086..16b4aed8dd1 100644
--- a/src/kv/MemDB.h
+++ b/src/kv/MemDB.h
@@ -98,7 +98,7 @@ public:
void clear() {
ops.clear();
}
- MDBTransactionImpl(MemDB* _db) :m_db(_db)
+ explicit MDBTransactionImpl(MemDB* _db) :m_db(_db)
{
ops.clear();
}
diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc
index 7f72e23ed03..ee276e2582a 100644
--- a/src/kv/RocksDBStore.cc
+++ b/src/kv/RocksDBStore.cc
@@ -85,7 +85,7 @@ public:
return store.assoc_name.c_str();
}
- MergeOperatorRouter(RocksDBStore &_store) : store(_store) {}
+ explicit MergeOperatorRouter(RocksDBStore &_store) : store(_store) {}
bool Merge(const rocksdb::Slice& key,
const rocksdb::Slice* existing_value,
@@ -124,7 +124,7 @@ class RocksDBStore::MergeOperatorLinker
private:
std::shared_ptr<KeyValueDB::MergeOperator> mop;
public:
- MergeOperatorLinker(const std::shared_ptr<KeyValueDB::MergeOperator> &o) : mop(o) {}
+ explicit MergeOperatorLinker(const std::shared_ptr<KeyValueDB::MergeOperator> &o) : mop(o) {}
const char *Name() const override {
return mop->name().c_str();
diff --git a/src/librbd/ImageState.cc b/src/librbd/ImageState.cc
index 17d364cc94a..f487ca9ddb7 100644
--- a/src/librbd/ImageState.cc
+++ b/src/librbd/ImageState.cc
@@ -26,7 +26,7 @@ using util::create_context_callback;
class ImageUpdateWatchers {
public:
- ImageUpdateWatchers(CephContext *cct) : m_cct(cct),
+ explicit ImageUpdateWatchers(CephContext *cct) : m_cct(cct),
m_lock(util::unique_lock_name("librbd::ImageUpdateWatchers::m_lock", this)) {
}
diff --git a/src/librbd/Journal.cc b/src/librbd/Journal.cc
index 1858bbf058b..961c1943eb0 100644
--- a/src/librbd/Journal.cc
+++ b/src/librbd/Journal.cc
@@ -1620,7 +1620,7 @@ struct C_RefreshTags : public Context {
uint64_t tag_tid = 0;
journal::TagData tag_data;
- C_RefreshTags(util::AsyncOpTracker &async_op_tracker)
+ explicit C_RefreshTags(util::AsyncOpTracker &async_op_tracker)
: async_op_tracker(async_op_tracker),
lock("librbd::Journal::C_RefreshTags::lock") {
async_op_tracker.start_op();
diff --git a/src/librbd/cache/ImageWriteback.h b/src/librbd/cache/ImageWriteback.h
index 9bc9b5e6d26..6a790768713 100644
--- a/src/librbd/cache/ImageWriteback.h
+++ b/src/librbd/cache/ImageWriteback.h
@@ -24,7 +24,7 @@ class ImageWriteback {
public:
typedef std::vector<std::pair<uint64_t,uint64_t> > Extents;
- ImageWriteback(ImageCtxT &image_ctx);
+ explicit ImageWriteback(ImageCtxT &image_ctx);
void aio_read(Extents &&image_extents, ceph::bufferlist *bl,
int fadvise_flags, Context *on_finish);
diff --git a/src/librbd/cache/PassthroughImageCache.h b/src/librbd/cache/PassthroughImageCache.h
index 2dbe94dbe79..b5b0a2c3b84 100644
--- a/src/librbd/cache/PassthroughImageCache.h
+++ b/src/librbd/cache/PassthroughImageCache.h
@@ -19,7 +19,7 @@ namespace cache {
template <typename ImageCtxT = librbd::ImageCtx>
class PassthroughImageCache : public ImageCache {
public:
- PassthroughImageCache(ImageCtx &image_ctx);
+ explicit PassthroughImageCache(ImageCtx &image_ctx);
/// client AIO methods
void aio_read(Extents&& image_extents, ceph::bufferlist *bl,
diff --git a/src/librbd/io/ReadResult.cc b/src/librbd/io/ReadResult.cc
index 20ba6f04521..58795202b2d 100644
--- a/src/librbd/io/ReadResult.cc
+++ b/src/librbd/io/ReadResult.cc
@@ -19,7 +19,7 @@ namespace io {
struct ReadResult::SetClipLengthVisitor : public boost::static_visitor<void> {
size_t length;
- SetClipLengthVisitor(size_t length) : length(length) {
+ explicit SetClipLengthVisitor(size_t length) : length(length) {
}
void operator()(Linear &linear) const {
diff --git a/src/mds/CInode.h b/src/mds/CInode.h
index ddf2c4bd46d..4e067f01954 100644
--- a/src/mds/CInode.h
+++ b/src/mds/CInode.h
@@ -427,7 +427,7 @@ public:
sr_t *snapnode = UNDEF_SRNODE;
projected_inode() = delete;
- projected_inode(const mempool_inode &in) : inode(in) {}
+ explicit projected_inode(const mempool_inode &in) : inode(in) {}
};
private:
diff --git a/src/mds/DamageTable.h b/src/mds/DamageTable.h
index ba0f55fb8b0..be2a5331ea3 100644
--- a/src/mds/DamageTable.h
+++ b/src/mds/DamageTable.h
@@ -192,7 +192,7 @@ public:
const inodeno_t ino) const;
- DamageTable(const mds_rank_t rank_)
+ explicit DamageTable(const mds_rank_t rank_)
: rank(rank_)
{
assert(rank_ != MDS_RANK_NONE);
diff --git a/src/mds/OpenFileTable.h b/src/mds/OpenFileTable.h
index db949d9f888..c386f69d4ec 100644
--- a/src/mds/OpenFileTable.h
+++ b/src/mds/OpenFileTable.h
@@ -26,7 +26,7 @@ class MDSInternalContextBase;
class OpenFileTable
{
public:
- OpenFileTable(MDSRank *m) : mds(m) {}
+ explicit OpenFileTable(MDSRank *m) : mds(m) {}
void add_inode(CInode *in);
void remove_inode(CInode *in);
diff --git a/src/mgr/DaemonServer.cc b/src/mgr/DaemonServer.cc
index ca09f360925..ba351b69fa7 100644
--- a/src/mgr/DaemonServer.cc
+++ b/src/mgr/DaemonServer.cc
@@ -664,7 +664,7 @@ bool DaemonServer::handle_command(MCommand *m)
bufferlist odata;
cmdmap_t cmdmap;
- CommandContext(MCommand *m_)
+ explicit CommandContext(MCommand *m_)
: m(m_)
{
}
@@ -708,7 +708,7 @@ bool DaemonServer::handle_command(MCommand *m)
bufferlist from_mon;
string outs;
- ReplyOnFinish(const std::shared_ptr<CommandContext> &cmdctx_)
+ explicit ReplyOnFinish(const std::shared_ptr<CommandContext> &cmdctx_)
: cmdctx(cmdctx_)
{}
void finish(int r) override {
diff --git a/src/mgr/DaemonState.h b/src/mgr/DaemonState.h
index 3cbf8e52594..152210ba008 100644
--- a/src/mgr/DaemonState.h
+++ b/src/mgr/DaemonState.h
@@ -68,7 +68,7 @@ class DaemonPerfCounters
// The record of perf stat types, shared between daemons
PerfCounterTypes &types;
- DaemonPerfCounters(PerfCounterTypes &types_)
+ explicit DaemonPerfCounters(PerfCounterTypes &types_)
: types(types_)
{}
@@ -119,7 +119,7 @@ class DaemonState
// The perf counters received in MMgrReport messages
DaemonPerfCounters perf_counters;
- DaemonState(PerfCounterTypes &types_)
+ explicit DaemonState(PerfCounterTypes &types_)
: perf_counters(types_)
{
}
diff --git a/src/mgr/Gil.h b/src/mgr/Gil.h
index ef9e76ac108..bff2d23329e 100644
--- a/src/mgr/Gil.h
+++ b/src/mgr/Gil.h
@@ -28,7 +28,7 @@ typedef struct _ts PyThreadState;
class SafeThreadState
{
public:
- SafeThreadState(PyThreadState *ts_);
+ explicit SafeThreadState(PyThreadState *ts_);
SafeThreadState()
: ts(nullptr), thread(0)
diff --git a/src/mgr/MgrClient.h b/src/mgr/MgrClient.h
index 4a044b5d5e3..3c21ca87b42 100644
--- a/src/mgr/MgrClient.h
+++ b/src/mgr/MgrClient.h
@@ -44,7 +44,7 @@ class MgrCommand : public CommandOp
{
public:
- MgrCommand(ceph_tid_t t) : CommandOp(t) {}
+ explicit MgrCommand(ceph_tid_t t) : CommandOp(t) {}
MgrCommand() : CommandOp() {}
};
diff --git a/src/mgr/MgrSession.h b/src/mgr/MgrSession.h
index c52e2e17776..c921ca09ead 100644
--- a/src/mgr/MgrSession.h
+++ b/src/mgr/MgrSession.h
@@ -25,7 +25,7 @@ struct MgrSession : public RefCountedObject {
std::set<std::string> declared_types;
- MgrSession(CephContext *cct) : RefCountedObject(cct, 0) {}
+ explicit MgrSession(CephContext *cct) : RefCountedObject(cct, 0) {}
~MgrSession() override {}
};
diff --git a/src/mgr/PyModule.h b/src/mgr/PyModule.h
index d9ce1695609..fa8ab77fd46 100644
--- a/src/mgr/PyModule.h
+++ b/src/mgr/PyModule.h
@@ -94,7 +94,7 @@ public:
PyObject *pClass = nullptr;
PyObject *pStandbyClass = nullptr;
- PyModule(const std::string &module_name_)
+ explicit PyModule(const std::string &module_name_)
: module_name(module_name_)
{
}
diff --git a/src/mgr/PyModuleRegistry.h b/src/mgr/PyModuleRegistry.h
index 5fb0148e710..97eff9d4c00 100644
--- a/src/mgr/PyModuleRegistry.h
+++ b/src/mgr/PyModuleRegistry.h
@@ -76,7 +76,7 @@ public:
return modules_out;
}
- PyModuleRegistry(LogChannelRef clog_)
+ explicit PyModuleRegistry(LogChannelRef clog_)
: clog(clog_)
{}
diff --git a/src/mgr/PyModuleRunner.h b/src/mgr/PyModuleRunner.h
index b4362fae162..4b4a53bc979 100644
--- a/src/mgr/PyModuleRunner.h
+++ b/src/mgr/PyModuleRunner.h
@@ -40,7 +40,7 @@ protected:
PyModuleRunner *mod;
public:
- PyModuleRunnerThread(PyModuleRunner *mod_)
+ explicit PyModuleRunnerThread(PyModuleRunner *mod_)
: mod(mod_) {}
void *entry() override;
diff --git a/src/mon/FSCommands.cc b/src/mon/FSCommands.cc
index efaff5bddb3..75c527c9c64 100644
--- a/src/mon/FSCommands.cc
+++ b/src/mon/FSCommands.cc
@@ -79,7 +79,7 @@ class FlagSetHandler : public FileSystemCommandHandler
class FsNewHandler : public FileSystemCommandHandler
{
public:
- FsNewHandler(Paxos *paxos)
+ explicit FsNewHandler(Paxos *paxos)
: FileSystemCommandHandler("fs new"), m_paxos(paxos)
{
}
@@ -494,7 +494,7 @@ public:
class AddDataPoolHandler : public FileSystemCommandHandler
{
public:
- AddDataPoolHandler(Paxos *paxos)
+ explicit AddDataPoolHandler(Paxos *paxos)
: FileSystemCommandHandler("fs add_data_pool"), m_paxos(paxos)
{}
@@ -790,7 +790,7 @@ class AliasHandler : public T
std::string alias_prefix;
public:
- AliasHandler(const std::string &new_prefix)
+ explicit AliasHandler(const std::string &new_prefix)
: T()
{
alias_prefix = new_prefix;
diff --git a/src/msg/async/AsyncMessenger.cc b/src/msg/async/AsyncMessenger.cc
index bcb78e67056..032d7314c86 100644
--- a/src/msg/async/AsyncMessenger.cc
+++ b/src/msg/async/AsyncMessenger.cc
@@ -218,7 +218,7 @@ struct StackSingleton {
CephContext *cct;
std::shared_ptr<NetworkStack> stack;
- StackSingleton(CephContext *c): cct(c) {}
+ explicit StackSingleton(CephContext *c): cct(c) {}
void ready(std::string &type) {
if (!stack)
stack = NetworkStack::create(cct, type);
diff --git a/src/msg/async/dpdk/EventDPDK.h b/src/msg/async/dpdk/EventDPDK.h
index 3e2aeb0e39e..9744b31a09f 100644
--- a/src/msg/async/dpdk/EventDPDK.h
+++ b/src/msg/async/dpdk/EventDPDK.h
@@ -26,7 +26,7 @@ class DPDKDriver : public EventDriver {
public:
UserspaceEventManager manager;
- DPDKDriver(CephContext *c): cct(c), manager(c) {}
+ explicit DPDKDriver(CephContext *c): cct(c), manager(c) {}
virtual ~DPDKDriver() { }
int init(EventCenter *c, int nevent) override;
diff --git a/src/msg/async/dpdk/Packet.h b/src/msg/async/dpdk/Packet.h
index 3daab3172d0..b22492db865 100644
--- a/src/msg/async/dpdk/Packet.h
+++ b/src/msg/async/dpdk/Packet.h
@@ -104,7 +104,7 @@ class Packet {
fragment frags[];
- impl(size_t nr_frags = default_nr_frags);
+ explicit impl(size_t nr_frags = default_nr_frags);
impl(const impl&) = delete;
impl(fragment frag, size_t nr_frags = default_nr_frags);
@@ -180,7 +180,7 @@ class Packet {
to->frags[0].base);
}
};
- Packet(std::unique_ptr<impl>&& impl) : _impl(std::move(impl)) {}
+ explicit Packet(std::unique_ptr<impl>&& impl) : _impl(std::move(impl)) {}
std::unique_ptr<impl> _impl;
public:
static Packet from_static_data(const char* data, size_t len) {
@@ -190,13 +190,13 @@ public:
// build empty Packet
Packet();
// build empty Packet with nr_frags allocated
- Packet(size_t nr_frags);
+ explicit Packet(size_t nr_frags);
// move existing Packet
Packet(Packet&& x) noexcept;
// copy data into Packet
Packet(const char* data, size_t len);
// copy data into Packet
- Packet(fragment frag);
+ explicit Packet(fragment frag);
// zero-copy single fragment
Packet(fragment frag, deleter del);
// zero-copy multiple fragments
diff --git a/src/msg/async/dpdk/UserspaceEvent.h b/src/msg/async/dpdk/UserspaceEvent.h
index 1a725a667d8..75f3abf78ab 100644
--- a/src/msg/async/dpdk/UserspaceEvent.h
+++ b/src/msg/async/dpdk/UserspaceEvent.h
@@ -46,7 +46,7 @@ class UserspaceEventManager {
std::list<uint32_t> unused_fds;
public:
- UserspaceEventManager(CephContext *c): cct(c) {
+ explicit UserspaceEventManager(CephContext *c): cct(c) {
waiting_fds.resize(1024);
}
diff --git a/src/msg/async/dpdk/ethernet.h b/src/msg/async/dpdk/ethernet.h
index 17546d73a10..4efd9416cf2 100644
--- a/src/msg/async/dpdk/ethernet.h
+++ b/src/msg/async/dpdk/ethernet.h
@@ -32,11 +32,11 @@
struct ethernet_address {
ethernet_address() {}
- ethernet_address(const uint8_t *eaddr) {
+ explicit ethernet_address(const uint8_t *eaddr) {
std::copy(eaddr, eaddr + 6, mac.begin());
}
- ethernet_address(std::initializer_list<uint8_t> eaddr) {
+ explicit ethernet_address(std::initializer_list<uint8_t> eaddr) {
assert(eaddr.size() == mac.size());
std::copy(eaddr.begin(), eaddr.end(), mac.begin());
}
diff --git a/src/msg/async/dpdk/net.h b/src/msg/async/dpdk/net.h
index c48815b8d33..53ef473cf95 100644
--- a/src/msg/async/dpdk/net.h
+++ b/src/msg/async/dpdk/net.h
@@ -105,7 +105,7 @@ class interface {
stream<Packet, ethernet_address> packet_stream;
std::function<bool (forward_hash&, Packet&, size_t)> forward;
bool ready() { return packet_stream.started(); }
- l3_rx_stream(std::function<bool (forward_hash&, Packet&, size_t)>&& fw) : forward(fw) {}
+ explicit l3_rx_stream(std::function<bool (forward_hash&, Packet&, size_t)>&& fw) : forward(fw) {}
};
std::unordered_map<uint16_t, l3_rx_stream> _proto_map;
std::shared_ptr<DPDKDevice> _dev;
diff --git a/src/msg/async/rdma/Infiniband.h b/src/msg/async/rdma/Infiniband.h
index 677c0374f69..38dbafc2ef1 100644
--- a/src/msg/async/rdma/Infiniband.h
+++ b/src/msg/async/rdma/Infiniband.h
@@ -99,7 +99,7 @@ class DeviceList {
int num;
Device** devices;
public:
- DeviceList(CephContext *cct): device_list(ibv_get_device_list(&num)) {
+ explicit DeviceList(CephContext *cct): device_list(ibv_get_device_list(&num)) {
if (device_list == NULL || num == 0) {
lderr(cct) << __func__ << " failed to get rdma device list. " << cpp_strerror(errno) << dendl;
ceph_abort();
@@ -250,7 +250,7 @@ class Infiniband {
unsigned n_bufs_allocated;
// true if it is possible to alloc
// more memory for the pool
- MemPoolContext(MemoryManager *m) :
+ explicit MemPoolContext(MemoryManager *m) :
perf_logger(nullptr),
manager(m),
n_bufs_allocated(0) {}
diff --git a/src/msg/async/rdma/RDMAStack.h b/src/msg/async/rdma/RDMAStack.h
index 58d063a7883..5a60cb4cbfd 100644
--- a/src/msg/async/rdma/RDMAStack.h
+++ b/src/msg/async/rdma/RDMAStack.h
@@ -80,7 +80,7 @@ class RDMADispatcher {
class C_handle_cq_async : public EventCallback {
RDMADispatcher *dispatcher;
public:
- C_handle_cq_async(RDMADispatcher *w): dispatcher(w) {}
+ explicit C_handle_cq_async(RDMADispatcher *w): dispatcher(w) {}
void do_request(uint64_t fd) {
// worker->handle_tx_event();
dispatcher->handle_async_event();
@@ -138,7 +138,7 @@ class RDMAWorker : public Worker {
class C_handle_cq_tx : public EventCallback {
RDMAWorker *worker;
public:
- C_handle_cq_tx(RDMAWorker *w): worker(w) {}
+ explicit C_handle_cq_tx(RDMAWorker *w): worker(w) {}
void do_request(uint64_t fd) {
worker->handle_pending_message();
}
@@ -226,7 +226,7 @@ class RDMAConnectedSocketImpl : public ConnectedSocketImpl {
RDMAConnectedSocketImpl *csi;
bool active;
public:
- C_handle_connection(RDMAConnectedSocketImpl *w): csi(w), active(true) {}
+ explicit C_handle_connection(RDMAConnectedSocketImpl *w): csi(w), active(true) {}
void do_request(uint64_t fd) {
if (active)
csi->handle_connection();
diff --git a/src/msg/xio/XioMessenger.h b/src/msg/xio/XioMessenger.h
index ccc99412c62..8ce33d48256 100644
--- a/src/msg/xio/XioMessenger.h
+++ b/src/msg/xio/XioMessenger.h
@@ -36,7 +36,7 @@ class XioInit {
void package_init(CephContext *cct);
protected:
- XioInit(CephContext *cct) {
+ explicit XioInit(CephContext *cct) {
this->package_init(cct);
}
};
diff --git a/src/osd/ExtentCache.h b/src/osd/ExtentCache.h
index c5ab2c4915b..ffde71d6322 100644
--- a/src/osd/ExtentCache.h
+++ b/src/osd/ExtentCache.h
@@ -172,7 +172,7 @@ private:
struct object_extent_set : boost::intrusive::set_base_hook<> {
hobject_t oid;
- object_extent_set(const hobject_t &oid) : oid(oid) {}
+ explicit object_extent_set(const hobject_t &oid) : oid(oid) {}
using set_member_options = boost::intrusive::member_hook<
extent,
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
index 1285c22dce1..51fbc5cbbb6 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -4150,7 +4150,7 @@ void OSD::build_initial_pg_history(
bool operator()(const set<pg_shard_t> &have) const {
return have.size() >= pi->min_size;
}
- min_size_predicate_t(const pg_pool_t *i) : pi(i) {}
+ explicit min_size_predicate_t(const pg_pool_t *i) : pi(i) {}
} min_size_predicate(osdmap->get_pg_pool(pgid.pgid.pool()));
bool new_interval = PastIntervals::check_new_interval(
diff --git a/src/osd/OSDCap.h b/src/osd/OSDCap.h
index af969bfd3a0..f6f22166799 100644
--- a/src/osd/OSDCap.h
+++ b/src/osd/OSDCap.h
@@ -127,8 +127,8 @@ struct OSDCapMatch {
std::string object_prefix;
OSDCapMatch() {}
- OSDCapMatch(const OSDCapPoolTag& pt) : pool_tag(pt) {}
- OSDCapMatch(const OSDCapPoolNamespace& pns) : pool_namespace(pns) {}
+ explicit OSDCapMatch(const OSDCapPoolTag& pt) : pool_tag(pt) {}
+ explicit OSDCapMatch(const OSDCapPoolNamespace& pns) : pool_namespace(pns) {}
OSDCapMatch(const OSDCapPoolNamespace& pns, const std::string& pre)
: pool_namespace(pns), object_prefix(pre) {}
OSDCapMatch(const std::string& pl, const std::string& pre)
@@ -192,7 +192,7 @@ struct OSDCapGrant {
OSDCapGrant() {}
OSDCapGrant(const OSDCapMatch& m, const OSDCapSpec& s) : match(m), spec(s) {}
- OSDCapGrant(const OSDCapProfile& profile) : profile(profile) {
+ explicit OSDCapGrant(const OSDCapProfile& profile) : profile(profile) {
expand_profile();
}
diff --git a/src/osd/OpQueueItem.h b/src/osd/OpQueueItem.h
index 306c57cdcd5..749ef070612 100644
--- a/src/osd/OpQueueItem.h
+++ b/src/osd/OpQueueItem.h
@@ -172,7 +172,7 @@ protected:
return pgid;
}
public:
- PGOpQueueable(spg_t pg) : pgid(pg) {}
+ explicit PGOpQueueable(spg_t pg) : pgid(pg) {}
uint32_t get_queue_token() const override final {
return get_pgid().ps();
}
@@ -185,7 +185,7 @@ public:
class Locker : public OpQueueItem::OrderLocker {
PGRef pg;
public:
- Locker(PGRef pg) : pg(pg) {}
+ explicit Locker(PGRef pg) : pg(pg) {}
void lock() override final {
pg->lock();
}
diff --git a/src/osd/PG.cc b/src/osd/PG.cc
index c490c47709d..44208dc07ee 100644
--- a/src/osd/PG.cc
+++ b/src/osd/PG.cc
@@ -4569,7 +4569,7 @@ void PG::Scrubber::cleanup_store(ObjectStore::Transaction *t) {
return;
struct OnComplete : Context {
std::unique_ptr<Scrub::Store> store;
- OnComplete(
+ explicit OnComplete(
std::unique_ptr<Scrub::Store> &&store)
: store(std::move(store)) {}
void finish(int) override {}
diff --git a/src/osd/PGLog.h b/src/osd/PGLog.h
index 7c016077324..ffc377b317d 100644
--- a/src/osd/PGLog.h
+++ b/src/osd/PGLog.h
@@ -136,7 +136,7 @@ public:
{ }
template <typename... Args>
- IndexedLog(Args&&... args) :
+ explicit IndexedLog(Args&&... args) :
pg_log_t(std::forward<Args>(args)...),
complete_to(log.end()),
last_requested(0),
diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc
index 4454f6b9009..656eff8f172 100644
--- a/src/osd/PrimaryLogPG.cc
+++ b/src/osd/PrimaryLogPG.cc
@@ -330,7 +330,7 @@ public:
struct CopyFromFinisher : public PrimaryLogPG::OpFinisher {
CopyFromCallback *copy_from_callback;
- CopyFromFinisher(CopyFromCallback *copy_from_callback)
+ explicit CopyFromFinisher(CopyFromCallback *copy_from_callback)
: copy_from_callback(copy_from_callback) {
}
@@ -837,7 +837,7 @@ class PGLSParentFilter : public PGLSFilter {
inodeno_t parent_ino;
public:
CephContext* cct;
- PGLSParentFilter(CephContext* cct) : cct(cct) {
+ explicit PGLSParentFilter(CephContext* cct) : cct(cct) {
xattr = "_parent";
}
int init(bufferlist::iterator &params) override
@@ -3422,7 +3422,7 @@ public:
struct SetManifestFinisher : public PrimaryLogPG::OpFinisher {
OSDOp& osd_op;
- SetManifestFinisher(OSDOp& osd_op) : osd_op(osd_op) {
+ explicit SetManifestFinisher(OSDOp& osd_op) : osd_op(osd_op) {
}
int execute() override {
@@ -3703,7 +3703,7 @@ public:
struct PromoteFinisher : public PrimaryLogPG::OpFinisher {
PromoteManifestCallback *promote_callback;
- PromoteFinisher(PromoteManifestCallback *promote_callback)
+ explicit PromoteFinisher(PromoteManifestCallback *promote_callback)
: promote_callback(promote_callback) {
}
@@ -5032,7 +5032,7 @@ void PrimaryLogPG::maybe_create_new_object(
struct ReadFinisher : public PrimaryLogPG::OpFinisher {
OSDOp& osd_op;
- ReadFinisher(OSDOp& osd_op) : osd_op(osd_op) {
+ explicit ReadFinisher(OSDOp& osd_op) : osd_op(osd_op) {
}
int execute() override {
diff --git a/src/osd/PrimaryLogPG.h b/src/osd/PrimaryLogPG.h
index aa0a57e5356..e28bc595e19 100644
--- a/src/osd/PrimaryLogPG.h
+++ b/src/osd/PrimaryLogPG.h
@@ -1700,7 +1700,7 @@ private:
struct ReservationCB : public Context {
PrimaryLogPGRef pg;
bool canceled;
- ReservationCB(PrimaryLogPG *pg) : pg(pg), canceled(false) {}
+ explicit ReservationCB(PrimaryLogPG *pg) : pg(pg), canceled(false) {}
void finish(int) override {
pg->lock();
if (!canceled)
diff --git a/src/osd/Watch.h b/src/osd/Watch.h
index ebcb7059f00..13d73e52c22 100644
--- a/src/osd/Watch.h
+++ b/src/osd/Watch.h
@@ -276,7 +276,7 @@ class WatchConState {
std::set<WatchRef> watches;
public:
CephContext* cct;
- WatchConState(CephContext* cct) : lock("WatchConState"), cct(cct) {}
+ explicit WatchConState(CephContext* cct) : lock("WatchConState"), cct(cct) {}
/// Add a watch
void addWatch(
diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h
index 2455b94c93a..97ef9a7e25b 100644
--- a/src/osd/osd_types.h
+++ b/src/osd/osd_types.h
@@ -2690,7 +2690,7 @@ private:
unique_ptr<interval_rep> past_intervals;
- PastIntervals(interval_rep *rep) : past_intervals(rep) {}
+ explicit PastIntervals(interval_rep *rep) : past_intervals(rep) {}
public:
void add_interval(bool ec_pool, const pg_interval_t &interval) {
diff --git a/src/osdc/Journaler.cc b/src/osdc/Journaler.cc
index 63cf435e4c0..4cff1bad3ca 100644
--- a/src/osdc/Journaler.cc
+++ b/src/osdc/Journaler.cc
@@ -32,7 +32,7 @@ using std::chrono::seconds;
class Journaler::C_DelayFlush : public Context {
Journaler *journaler;
public:
- C_DelayFlush(Journaler *j) : journaler(j) {}
+ explicit C_DelayFlush(Journaler *j) : journaler(j) {}
void finish(int r) override {
journaler->_do_delayed_flush();
}
diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h
index 20c7825f9dc..4aa95192f01 100644
--- a/src/osdc/Objecter.h
+++ b/src/osdc/Objecter.h
@@ -284,7 +284,7 @@ struct ObjectOperation {
// object cmpext
struct C_ObjectOperation_cmpext : public Context {
int *prval;
- C_ObjectOperation_cmpext(int *prval)
+ explicit C_ObjectOperation_cmpext(int *prval)
: prval(prval) {}
void finish(int r) {
@@ -1313,7 +1313,7 @@ public:
base_oloc(oloc)
{}
- op_target_t(pg_t pgid)
+ explicit op_target_t(pg_t pgid)
: base_oloc(pgid.pool(), pgid.ps()),
precalc_pgid(true),
base_pgid(pgid)
@@ -1732,7 +1732,7 @@ public:
watch_pending_async.pop_front();
}
- LingerOp(Objecter *o) : linger_id(0),
+ explicit LingerOp(Objecter *o) : linger_id(0),
target(object_t(), object_locator_t(), 0),
snap(CEPH_NOSNAP), poutbl(NULL), pobjver(NULL),
is_watch(false), last_error(0),
diff --git a/src/rgw/rgw_acl_swift.h b/src/rgw/rgw_acl_swift.h
index f5b4558da88..f5365b04eb7 100644
--- a/src/rgw/rgw_acl_swift.h
+++ b/src/rgw/rgw_acl_swift.h
@@ -38,7 +38,7 @@ public:
class RGWAccessControlPolicy_SWIFTAcct : public RGWAccessControlPolicy
{
public:
- RGWAccessControlPolicy_SWIFTAcct(CephContext * const cct)
+ explicit RGWAccessControlPolicy_SWIFTAcct(CephContext * const cct)
: RGWAccessControlPolicy(cct) {
}
~RGWAccessControlPolicy_SWIFTAcct() override {}
diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc
index fcdfe25b0fc..f1eb5a1f1b9 100644
--- a/src/rgw/rgw_asio_frontend.cc
+++ b/src/rgw/rgw_asio_frontend.cc
@@ -217,7 +217,7 @@ class AsioFrontend {
tcp::socket socket;
bool use_ssl = false;
- Listener(boost::asio::io_service& service)
+ explicit Listener(boost::asio::io_service& service)
: acceptor(service), socket(service) {}
};
std::vector<Listener> listeners;
diff --git a/src/rgw/rgw_auth.h b/src/rgw/rgw_auth.h
index b0330193ccd..bdc0e4c1944 100644
--- a/src/rgw/rgw_auth.h
+++ b/src/rgw/rgw_auth.h
@@ -188,7 +188,7 @@ public:
std::pair<IdentityApplier::aplptr_t, Completer::cmplptr_t> result_pair;
- AuthResult(const int reason)
+ explicit AuthResult(const int reason)
: reason(reason) {
}
@@ -199,7 +199,7 @@ public:
/* Allow only the reasonable combintations - returning just Completer
* without accompanying IdentityApplier is strictly prohibited! */
- AuthResult(IdentityApplier::aplptr_t&& applier)
+ explicit AuthResult(IdentityApplier::aplptr_t&& applier)
: result_pair(std::move(applier), nullptr) {
}
diff --git a/src/rgw/rgw_auth_filters.h b/src/rgw/rgw_auth_filters.h
index 7f90b7027a7..29003040fb7 100644
--- a/src/rgw/rgw_auth_filters.h
+++ b/src/rgw/rgw_auth_filters.h
@@ -60,7 +60,7 @@ class DecoratedApplier : public rgw::auth::IdentityApplier {
}
public:
- DecoratedApplier(DecorateeT&& decoratee)
+ explicit DecoratedApplier(DecorateeT&& decoratee)
: decoratee(std::forward<DecorateeT>(decoratee)) {
}
diff --git a/src/rgw/rgw_auth_keystone.cc b/src/rgw/rgw_auth_keystone.cc
index 21a71c5a733..c3e011c3120 100644
--- a/src/rgw/rgw_auth_keystone.cc
+++ b/src/rgw/rgw_auth_keystone.cc
@@ -213,7 +213,7 @@ TokenEngine::authenticate(const std::string& token,
/* This will be initialized on the first call to this method. In C++11 it's
* also thread-safe. */
static const struct RolesCacher {
- RolesCacher(CephContext* const cct) {
+ explicit RolesCacher(CephContext* const cct) {
get_str_vec(cct->_conf->rgw_keystone_accepted_roles, plain);
get_str_vec(cct->_conf->rgw_keystone_accepted_admin_roles, admin);
@@ -429,7 +429,7 @@ rgw::auth::Engine::result_t EC2Engine::authenticate(
/* This will be initialized on the first call to this method. In C++11 it's
* also thread-safe. */
static const struct RolesCacher {
- RolesCacher(CephContext* const cct) {
+ explicit RolesCacher(CephContext* const cct) {
get_str_vec(cct->_conf->rgw_keystone_accepted_roles, plain);
get_str_vec(cct->_conf->rgw_keystone_accepted_admin_roles, admin);
diff --git a/src/rgw/rgw_auth_s3.h b/src/rgw/rgw_auth_s3.h
index 6bcdebaf1cc..26c4e828edf 100644
--- a/src/rgw/rgw_auth_s3.h
+++ b/src/rgw/rgw_auth_s3.h
@@ -177,7 +177,7 @@ class AWSv4ComplMulti : public rgw::auth::Completer,
signature(signature.to_string()) {
}
- ChunkMeta(const boost::string_view& signature)
+ explicit ChunkMeta(const boost::string_view& signature)
: signature(signature.to_string()) {
}
@@ -281,7 +281,7 @@ public:
/* Defined in rgw_auth_s3.cc because of get_v4_exp_payload_hash(). We need
* the constructor to be public because of the std::make_shared employed by
* the create() method. */
- AWSv4ComplSingle(const req_state* const s);
+ explicit AWSv4ComplSingle(const req_state* const s);
~AWSv4ComplSingle() {
if (sha256_hash) {
diff --git a/src/rgw/rgw_basic_types.h b/src/rgw/rgw_basic_types.h
index 76b065ad477..179f2b94a7e 100644
--- a/src/rgw/rgw_basic_types.h
+++ b/src/rgw/rgw_basic_types.h
@@ -119,7 +119,7 @@ class Principal {
types t;
rgw_user u;
- Principal(types t)
+ explicit Principal(types t)
: t(t) {}
Principal(types t, std::string&& n, std::string i)
diff --git a/src/rgw/rgw_civetweb.h b/src/rgw/rgw_civetweb.h
index 0e309fc2650..6a6acd5879f 100644
--- a/src/rgw/rgw_civetweb.h
+++ b/src/rgw/rgw_civetweb.h
@@ -53,7 +53,7 @@ public:
return env;
}
- RGWCivetWeb(mg_connection *_conn);
+ explicit RGWCivetWeb(mg_connection *_conn);
};
#endif
diff --git a/src/rgw/rgw_client_io.h b/src/rgw/rgw_client_io.h
index 8ee423b2ef5..6f904e01be6 100644
--- a/src/rgw/rgw_client_io.h
+++ b/src/rgw/rgw_client_io.h
@@ -202,7 +202,7 @@ protected:
}
public:
- DecoratedRestfulClient(DecorateeT&& decoratee)
+ explicit DecoratedRestfulClient(DecorateeT&& decoratee)
: decoratee(std::forward<DecorateeT>(decoratee)) {
}
@@ -308,7 +308,7 @@ class StaticOutputBufferer : public std::streambuf {
std::streambuf::char_type buffer[BufferSizeV];
public:
- StaticOutputBufferer(BuffererSink& sink)
+ explicit StaticOutputBufferer(BuffererSink& sink)
: sink(sink) {
constexpr size_t len = sizeof(buffer) - sizeof(std::streambuf::char_type);
std::streambuf::setp(buffer, buffer + len);
diff --git a/src/rgw/rgw_client_io_filters.h b/src/rgw/rgw_client_io_filters.h
index 04761fc7829..0ae02e26a45 100644
--- a/src/rgw/rgw_client_io_filters.h
+++ b/src/rgw/rgw_client_io_filters.h
@@ -269,7 +269,7 @@ protected:
public:
template <typename U>
- ChunkingFilter(U&& decoratee)
+ explicit ChunkingFilter(U&& decoratee)
: DecoratedRestfulClient<T>(std::forward<U>(decoratee)),
chunking_enabled(false) {
}
@@ -331,7 +331,7 @@ protected:
public:
template <typename U>
- ConLenControllingFilter(U&& decoratee)
+ explicit ConLenControllingFilter(U&& decoratee)
: DecoratedRestfulClient<T>(std::forward<U>(decoratee)),
action(ContentLengthAction::UNKNOWN) {
}
@@ -399,7 +399,7 @@ protected:
public:
template <typename U>
- ReorderingFilter(U&& decoratee)
+ explicit ReorderingFilter(U&& decoratee)
: DecoratedRestfulClient<T>(std::forward<U>(decoratee)),
phase(ReorderState::RGW_EARLY_HEADERS) {
}
diff --git a/src/rgw/rgw_coroutine.h b/src/rgw/rgw_coroutine.h
index 7212a4fc84a..73841f2ebe9 100644
--- a/src/rgw/rgw_coroutine.h
+++ b/src/rgw/rgw_coroutine.h
@@ -62,7 +62,7 @@ protected:
void _wakeup(void *opaque);
void _complete(RGWAioCompletionNotifier *cn, const rgw_io_id& io_id, void *user_info);
public:
- RGWCompletionManager(CephContext *_cct);
+ explicit RGWCompletionManager(CephContext *_cct);
~RGWCompletionManager() override;
void complete(RGWAioCompletionNotifier *cn, const rgw_io_id& io_id, void *user_info);
@@ -192,7 +192,7 @@ class RGWCoroutine : public RefCountedObject, public boost::asio::coroutine {
utime_t timestamp;
stringstream status;
- Status(CephContext *_cct) : cct(_cct), lock("RGWCoroutine::Status::lock"), max_history(MAX_COROUTINE_HISTORY) {}
+ explicit Status(CephContext *_cct) : cct(_cct), lock("RGWCoroutine::Status::lock"), max_history(MAX_COROUTINE_HISTORY) {}
deque<StatusItem> history;
@@ -334,7 +334,7 @@ class RGWConsumerCR : public RGWCoroutine {
list<T> product;
public:
- RGWConsumerCR(CephContext *_cct) : RGWCoroutine(_cct) {}
+ explicit RGWConsumerCR(CephContext *_cct) : RGWCoroutine(_cct) {}
bool has_product() {
return !product.empty();
@@ -531,7 +531,7 @@ class RGWCoroutinesManagerRegistry : public RefCountedObject, public AdminSocket
string admin_command;
public:
- RGWCoroutinesManagerRegistry(CephContext *_cct) : cct(_cct), lock("RGWCoroutinesRegistry::lock") {}
+ explicit RGWCoroutinesManagerRegistry(CephContext *_cct) : cct(_cct), lock("RGWCoroutinesRegistry::lock") {}
~RGWCoroutinesManagerRegistry() override;
void add(RGWCoroutinesManager *mgr);
diff --git a/src/rgw/rgw_cr_rest.h b/src/rgw/rgw_cr_rest.h
index 0518edcb1ea..da7ed3436c3 100644
--- a/src/rgw/rgw_cr_rest.h
+++ b/src/rgw/rgw_cr_rest.h
@@ -478,7 +478,7 @@ protected:
class WriteDrainNotify : public RGWWriteDrainCB {
RGWStreamWriteHTTPResourceCRF *crf;
public:
- WriteDrainNotify(RGWStreamWriteHTTPResourceCRF *_crf) : crf(_crf) {}
+ explicit WriteDrainNotify(RGWStreamWriteHTTPResourceCRF *_crf) : crf(_crf) {}
void notify(uint64_t pending_size) override;
} write_drain_notify_cb;
diff --git a/src/rgw/rgw_crypt.cc b/src/rgw/rgw_crypt.cc
index 03dcf6df49d..2143bf0c1aa 100644
--- a/src/rgw/rgw_crypt.cc
+++ b/src/rgw/rgw_crypt.cc
@@ -37,7 +37,7 @@ private:
CephContext* cct;
uint8_t key[AES_256_KEYSIZE];
public:
- AES_256_CTR(CephContext* cct): cct(cct) {
+ explicit AES_256_CTR(CephContext* cct): cct(cct) {
}
~AES_256_CTR() {
memset(key, 0, AES_256_KEYSIZE);
@@ -200,7 +200,7 @@ private:
CephContext* cct;
uint8_t key[AES_256_KEYSIZE];
public:
- AES_256_CBC(CephContext* cct): cct(cct) {
+ explicit AES_256_CBC(CephContext* cct): cct(cct) {
}
~AES_256_CBC() {
memset(key, 0, AES_256_KEYSIZE);
diff --git a/src/rgw/rgw_crypt_sanitize.h b/src/rgw/rgw_crypt_sanitize.h
index 628577f90c7..548c1240106 100644
--- a/src/rgw/rgw_crypt_sanitize.h
+++ b/src/rgw/rgw_crypt_sanitize.h
@@ -57,7 +57,7 @@ struct auth {
*/
struct log_content {
const boost::string_view buf;
- log_content(const boost::string_view buf)
+ explicit log_content(const boost::string_view buf)
: buf(buf) {}
};
diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc
index 606372feb0e..e1e0013481d 100644
--- a/src/rgw/rgw_data_sync.cc
+++ b/src/rgw/rgw_data_sync.cc
@@ -963,7 +963,7 @@ public:
// ostream wrappers to print buckets without copying strings
struct bucket_str {
const rgw_bucket& b;
- bucket_str(const rgw_bucket& b) : b(b) {}
+ explicit bucket_str(const rgw_bucket& b) : b(b) {}
};
std::ostream& operator<<(std::ostream& out, const bucket_str& rhs) {
auto& b = rhs.b;
@@ -979,7 +979,7 @@ std::ostream& operator<<(std::ostream& out, const bucket_str& rhs) {
struct bucket_str_noinstance {
const rgw_bucket& b;
- bucket_str_noinstance(const rgw_bucket& b) : b(b) {}
+ explicit bucket_str_noinstance(const rgw_bucket& b) : b(b) {}
};
std::ostream& operator<<(std::ostream& out, const bucket_str_noinstance& rhs) {
auto& b = rhs.b;
@@ -992,7 +992,7 @@ std::ostream& operator<<(std::ostream& out, const bucket_str_noinstance& rhs) {
struct bucket_shard_str {
const rgw_bucket_shard& bs;
- bucket_shard_str(const rgw_bucket_shard& bs) : bs(bs) {}
+ explicit bucket_shard_str(const rgw_bucket_shard& bs) : bs(bs) {}
};
std::ostream& operator<<(std::ostream& out, const bucket_shard_str& rhs) {
auto& bs = rhs.bs;
diff --git a/src/rgw/rgw_es_query.cc b/src/rgw/rgw_es_query.cc
index b30435c09df..badd334a956 100644
--- a/src/rgw/rgw_es_query.cc
+++ b/src/rgw/rgw_es_query.cc
@@ -127,7 +127,7 @@ class ESQueryNode_Bool : public ESQueryNode {
ESQueryNode *first{nullptr};
ESQueryNode *second{nullptr};
public:
- ESQueryNode_Bool(ESQueryCompiler *compiler) : ESQueryNode(compiler) {}
+ explicit ESQueryNode_Bool(ESQueryCompiler *compiler) : ESQueryNode(compiler) {}
ESQueryNode_Bool(ESQueryCompiler *compiler, const string& _op, ESQueryNode *_first, ESQueryNode *_second) :ESQueryNode(compiler), op(_op), first(_first), second(_second) {}
bool init(ESQueryStack *s, ESQueryNode **pnode, string *perr) override {
bool valid = s->pop(&op);
@@ -279,7 +279,7 @@ public:
class ESQueryNode_Op_Equal : public ESQueryNode_Op {
public:
- ESQueryNode_Op_Equal(ESQueryCompiler *compiler) : ESQueryNode_Op(compiler) {}
+ explicit ESQueryNode_Op_Equal(ESQueryCompiler *compiler) : ESQueryNode_Op(compiler) {}
ESQueryNode_Op_Equal(ESQueryCompiler *compiler, const string& f, const string& v) : ESQueryNode_Op(compiler) {
op = "==";
field = f;
diff --git a/src/rgw/rgw_es_query.h b/src/rgw/rgw_es_query.h
index 1341e4443a9..5b2702006c1 100644
--- a/src/rgw/rgw_es_query.h
+++ b/src/rgw/rgw_es_query.h
@@ -8,7 +8,7 @@ class ESQueryStack {
list<string>::iterator iter;
public:
- ESQueryStack(list<string>& src) {
+ explicit ESQueryStack(list<string>& src) {
assign(src);
}
@@ -58,7 +58,7 @@ class ESInfixQueryParser {
bool parse_close_bracket();
public:
- ESInfixQueryParser(const string& _query) : query(_query), size(query.size()), str(query.c_str()) {}
+ explicit ESInfixQueryParser(const string& _query) : query(_query), size(query.size()), str(query.c_str()) {}
bool parse(list<string> *result);
};
@@ -74,7 +74,7 @@ struct ESEntityTypeMap {
map<string, EntityType> m;
- ESEntityTypeMap(map<string, EntityType>& _m) : m(_m) {}
+ explicit ESEntityTypeMap(map<string, EntityType>& _m) : m(_m) {}
bool find(const string& entity, EntityType *ptype) {
auto i = m.find(entity);
diff --git a/src/rgw/rgw_file.cc b/src/rgw/rgw_file.cc
index c7795b4a187..da46af7a2a7 100644
--- a/src/rgw/rgw_file.cc
+++ b/src/rgw/rgw_file.cc
@@ -786,7 +786,7 @@ namespace rgw {
{
RGWLibFS* fs;
public:
- ObjUnref(RGWLibFS* _fs) : fs(_fs) {}
+ explicit ObjUnref(RGWLibFS* _fs) : fs(_fs) {}
void operator()(RGWFileHandle* fh) const {
lsubdout(fs->get_context(), rgw, 5)
<< __func__
diff --git a/src/rgw/rgw_file.h b/src/rgw/rgw_file.h
index b83761fb5ee..5e0c86d0bfb 100644
--- a/src/rgw/rgw_file.h
+++ b/src/rgw/rgw_file.h
@@ -261,7 +261,7 @@ namespace rgw {
friend class RGWLibFS;
private:
- RGWFileHandle(RGWLibFS* _fs)
+ explicit RGWFileHandle(RGWLibFS* _fs)
: fs(_fs), bucket(nullptr), parent(nullptr), variant_type{directory()},
depth(0), flags(FLAG_NONE)
{
@@ -819,7 +819,7 @@ namespace rgw {
{
RGWFileHandle& rgw_fh;
- WriteCompletion(RGWFileHandle& _fh) : rgw_fh(_fh) {
+ explicit WriteCompletion(RGWFileHandle& _fh) : rgw_fh(_fh) {
rgw_fh.get_fs()->ref(&rgw_fh);
}
diff --git a/src/rgw/rgw_frontend.h b/src/rgw/rgw_frontend.h
index c5d9613536d..75bdd86d748 100644
--- a/src/rgw/rgw_frontend.h
+++ b/src/rgw/rgw_frontend.h
@@ -29,7 +29,7 @@ class RGWFrontendConfig {
std::multimap<std::string, std::string>& config_map);
public:
- RGWFrontendConfig(const std::string& config)
+ explicit RGWFrontendConfig(const std::string& config)
: config(config) {
}
@@ -85,7 +85,7 @@ struct RGWMongooseEnv : public RGWProcessEnv {
static constexpr bool prioritize_write = true;
RWLock mutex;
- RGWMongooseEnv(const RGWProcessEnv &env)
+ explicit RGWMongooseEnv(const RGWProcessEnv &env)
: RGWProcessEnv(env),
mutex("RGWCivetWebFrontend", false, true, prioritize_write) {
}
diff --git a/src/rgw/rgw_http_client.cc b/src/rgw/rgw_http_client.cc
index d32f1b6734e..a659f4c144a 100644
--- a/src/rgw/rgw_http_client.cc
+++ b/src/rgw/rgw_http_client.cc
@@ -99,7 +99,7 @@ struct RGWCurlHandle {
mono_time lastuse;
CURL* h;
- RGWCurlHandle(CURL* h) : uses(0), h(h) {};
+ explicit RGWCurlHandle(CURL* h) : uses(0), h(h) {};
CURL* operator*() {
return this->h;
}
diff --git a/src/rgw/rgw_http_client.h b/src/rgw/rgw_http_client.h
index 4f40402a0e2..ec5aa20a572 100644
--- a/src/rgw/rgw_http_client.h
+++ b/src/rgw/rgw_http_client.h
@@ -330,7 +330,7 @@ class RGWHTTPManager {
RGWHTTPManager *manager;
public:
- ReqsThread(RGWHTTPManager *_m) : manager(_m) {}
+ explicit ReqsThread(RGWHTTPManager *_m) : manager(_m) {}
void *entry() override;
};
diff --git a/src/rgw/rgw_http_client_curl.cc b/src/rgw/rgw_http_client_curl.cc
index 4129c4d9045..34681348469 100644
--- a/src/rgw/rgw_http_client_curl.cc
+++ b/src/rgw/rgw_http_client_curl.cc
@@ -21,7 +21,7 @@ class RGWSSLSetup
{
std::vector <std::mutex> locks;
public:
- RGWSSLSetup(int n) : locks (n){}
+ explicit RGWSSLSetup(int n) : locks (n){}
void set_lock(int id){
try {
diff --git a/src/rgw/rgw_iam_policy.h b/src/rgw/rgw_iam_policy.h
index 4bb06b1195f..d00e65e55d0 100644
--- a/src/rgw/rgw_iam_policy.h
+++ b/src/rgw/rgw_iam_policy.h
@@ -438,7 +438,7 @@ std::ostream& operator <<(ostream& m, const Statement& s);
struct PolicyParseException : public std::exception {
rapidjson::ParseResult pr;
- PolicyParseException(rapidjson::ParseResult&& pr)
+ explicit PolicyParseException(rapidjson::ParseResult&& pr)
: pr(pr) { }
const char* what() const noexcept override {
return rapidjson::GetParseError_En(pr.Code());
diff --git a/src/rgw/rgw_keystone.h b/src/rgw/rgw_keystone.h
index 05504527f27..281582c7837 100644
--- a/src/rgw/rgw_keystone.h
+++ b/src/rgw/rgw_keystone.h
@@ -259,7 +259,7 @@ class TokenCache {
const size_t max;
- TokenCache(const rgw::keystone::Config& config)
+ explicit TokenCache(const rgw::keystone::Config& config)
: revocator(g_ceph_context, this, config),
cct(g_ceph_context),
lock("rgw::keystone::TokenCache"),
@@ -332,7 +332,7 @@ class AdminTokenRequestVer2 : public AdminTokenRequest {
const Config& conf;
public:
- AdminTokenRequestVer2(const Config& conf)
+ explicit AdminTokenRequestVer2(const Config& conf)
: conf(conf) {
}
void dump(Formatter *f) const override;
@@ -342,7 +342,7 @@ class AdminTokenRequestVer3 : public AdminTokenRequest {
const Config& conf;
public:
- AdminTokenRequestVer3(const Config& conf)
+ explicit AdminTokenRequestVer3(const Config& conf)
: conf(conf) {
}
void dump(Formatter *f) const override;
@@ -352,7 +352,7 @@ class BarbicanTokenRequestVer2 : public AdminTokenRequest {
CephContext *cct;
public:
- BarbicanTokenRequestVer2(CephContext * const _cct)
+ explicit BarbicanTokenRequestVer2(CephContext * const _cct)
: cct(_cct) {
}
void dump(Formatter *f) const;
@@ -362,7 +362,7 @@ class BarbicanTokenRequestVer3 : public AdminTokenRequest {
CephContext *cct;
public:
- BarbicanTokenRequestVer3(CephContext * const _cct)
+ explicit BarbicanTokenRequestVer3(CephContext * const _cct)
: cct(_cct) {
}
void dump(Formatter *f) const;
diff --git a/src/rgw/rgw_lc.h b/src/rgw/rgw_lc.h
index a8ab9c461c6..ec8a0e20fea 100644
--- a/src/rgw/rgw_lc.h
+++ b/src/rgw/rgw_lc.h
@@ -289,7 +289,7 @@ protected:
bool _add_rule(LCRule *rule);
bool has_same_action(const lc_op& first, const lc_op& second);
public:
- RGWLifecycleConfiguration(CephContext *_cct) : cct(_cct) {}
+ explicit RGWLifecycleConfiguration(CephContext *_cct) : cct(_cct) {}
RGWLifecycleConfiguration() : cct(NULL) {}
void set_ctx(CephContext *ctx) {
diff --git a/src/rgw/rgw_lc_s3.h b/src/rgw/rgw_lc_s3.h
index 10960c6365d..93d72ced9b2 100644
--- a/src/rgw/rgw_lc_s3.h
+++ b/src/rgw/rgw_lc_s3.h
@@ -189,7 +189,7 @@ private:
CephContext *cct;
public:
LCRule_S3(): cct(nullptr) {}
- LCRule_S3(CephContext *_cct): cct(_cct) {}
+ explicit LCRule_S3(CephContext *_cct): cct(_cct) {}
~LCRule_S3() override {}
void to_xml(ostream& out);
@@ -233,13 +233,13 @@ class RGWLCXMLParser_S3 : public RGWXMLParser
XMLObj *alloc_obj(const char *el) override;
public:
- RGWLCXMLParser_S3(CephContext *_cct) : cct(_cct) {}
+ explicit RGWLCXMLParser_S3(CephContext *_cct) : cct(_cct) {}
};
class RGWLifecycleConfiguration_S3 : public RGWLifecycleConfiguration, public XMLObj
{
public:
- RGWLifecycleConfiguration_S3(CephContext *_cct) : RGWLifecycleConfiguration(_cct) {}
+ explicit RGWLifecycleConfiguration_S3(CephContext *_cct) : RGWLifecycleConfiguration(_cct) {}
RGWLifecycleConfiguration_S3() : RGWLifecycleConfiguration(NULL) {}
~RGWLifecycleConfiguration_S3() override {}
diff --git a/src/rgw/rgw_lib.h b/src/rgw/rgw_lib.h
index 7ab037f5934..2be201b0ad8 100644
--- a/src/rgw/rgw_lib.h
+++ b/src/rgw/rgw_lib.h
@@ -60,7 +60,7 @@ namespace rgw {
RGWLibIO() {
get_env().set("HTTP_HOST", "");
}
- RGWLibIO(const RGWUserInfo &_user_info)
+ explicit RGWLibIO(const RGWUserInfo &_user_info)
: user_info(_user_info) {}
int init_env(CephContext *cct) override {
diff --git a/src/rgw/rgw_metadata.h b/src/rgw/rgw_metadata.h
index 82b811a6513..b2337587588 100644
--- a/src/rgw/rgw_metadata.h
+++ b/src/rgw/rgw_metadata.h
@@ -167,7 +167,7 @@ class RGWMetadataLogInfoCompletion : public RefCountedObject {
std::mutex mutex; //< protects callback between cancel/complete
boost::optional<info_callback_t> callback; //< cleared on cancel
public:
- RGWMetadataLogInfoCompletion(info_callback_t callback);
+ explicit RGWMetadataLogInfoCompletion(info_callback_t callback);
~RGWMetadataLogInfoCompletion() override;
librados::IoCtx& get_io_ctx() { return io_ctx; }
diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc
index 3b77eff5265..8c9e568e8a5 100644
--- a/src/rgw/rgw_op.cc
+++ b/src/rgw/rgw_op.cc
@@ -3324,7 +3324,7 @@ class RGWPutObj_CB : public RGWGetObj_Filter
{
RGWPutObj *op;
public:
- RGWPutObj_CB(RGWPutObj *_op) : op(_op) {}
+ explicit RGWPutObj_CB(RGWPutObj *_op) : op(_op) {}
~RGWPutObj_CB() override {}
int handle_data(bufferlist& bl, off_t bl_ofs, off_t bl_len) override {
diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h
index da638eb4c03..cfcb86b0dfa 100644
--- a/src/rgw/rgw_op.h
+++ b/src/rgw/rgw_op.h
@@ -186,7 +186,7 @@ protected:
RGWGetObj_Filter *next{nullptr};
public:
RGWGetObj_Filter() {}
- RGWGetObj_Filter(RGWGetObj_Filter *next): next(next) {}
+ explicit RGWGetObj_Filter(RGWGetObj_Filter *next): next(next) {}
~RGWGetObj_Filter() override {}
/**
* Passes data through filter.
@@ -555,7 +555,7 @@ protected:
}
public:
- DecoratedStreamGetter(StreamGetter& decoratee)
+ explicit DecoratedStreamGetter(StreamGetter& decoratee)
: decoratee(decoratee) {
}
virtual ~DecoratedStreamGetter() = default;
@@ -1081,7 +1081,7 @@ class RGWPutObj_Filter : public RGWPutObjDataProcessor
protected:
RGWPutObjDataProcessor* next;
public:
- RGWPutObj_Filter(RGWPutObjDataProcessor* next) :
+ explicit RGWPutObj_Filter(RGWPutObjDataProcessor* next) :
next(next){}
~RGWPutObj_Filter() override {}
int handle_data(bufferlist& bl, off_t ofs, void **phandle, rgw_raw_obj *pobj, bool *again) override {
diff --git a/src/rgw/rgw_period_puller.h b/src/rgw/rgw_period_puller.h
index 1cb8998b2d5..9018d5841da 100644
--- a/src/rgw/rgw_period_puller.h
+++ b/src/rgw/rgw_period_puller.h
@@ -12,7 +12,7 @@ class RGWPeriod;
class RGWPeriodPuller : public RGWPeriodHistory::Puller {
RGWRados *const store;
public:
- RGWPeriodPuller(RGWRados* store) : store(store) {}
+ explicit RGWPeriodPuller(RGWRados* store) : store(store) {}
int pull(const std::string& period_id, RGWPeriod& period) override;
};
diff --git a/src/rgw/rgw_period_pusher.h b/src/rgw/rgw_period_pusher.h
index 7146bef42af..be833f5fc03 100644
--- a/src/rgw/rgw_period_pusher.h
+++ b/src/rgw/rgw_period_pusher.h
@@ -23,7 +23,7 @@ using RGWZonesNeedPeriod = RGWPeriod;
class RGWPeriodPusher final : public RGWRealmWatcher::Watcher,
public RGWRealmReloader::Pauser {
public:
- RGWPeriodPusher(RGWRados* store);
+ explicit RGWPeriodPusher(RGWRados* store);
~RGWPeriodPusher() override;
/// respond to realm notifications by pushing new periods to other zones
diff --git a/src/rgw/rgw_process.h b/src/rgw/rgw_process.h
index 699ee1c5544..6fa788db0e5 100644
--- a/src/rgw/rgw_process.h
+++ b/src/rgw/rgw_process.h
@@ -166,7 +166,7 @@ public:
class RGWProcessControlThread : public Thread {
RGWProcess *pprocess;
public:
- RGWProcessControlThread(RGWProcess *_pprocess) : pprocess(_pprocess) {}
+ explicit RGWProcessControlThread(RGWProcess *_pprocess) : pprocess(_pprocess) {}
void *entry() override {
pprocess->run();
diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h
index c742932f3ca..c6a9c473d42 100644
--- a/src/rgw/rgw_rados.h
+++ b/src/rgw/rgw_rados.h
@@ -147,8 +147,8 @@ class rgw_obj_select {
public:
rgw_obj_select() : is_raw(false) {}
- rgw_obj_select(const rgw_obj& _obj) : obj(_obj), is_raw(false) {}
- rgw_obj_select(const rgw_raw_obj& _raw_obj) : raw_obj(_raw_obj), is_raw(true) {}
+ explicit rgw_obj_select(const rgw_obj& _obj) : obj(_obj), is_raw(false) {}
+ explicit rgw_obj_select(const rgw_raw_obj& _raw_obj) : raw_obj(_raw_obj), is_raw(true) {}
rgw_obj_select(const rgw_obj_select& rhs) {
placement_rule = rhs.placement_rule;
is_raw = rhs.is_raw;
@@ -1185,7 +1185,7 @@ struct RGWZoneParams : RGWSystemMetaObj {
JSONFormattable tier_config;
RGWZoneParams() : RGWSystemMetaObj() {}
- RGWZoneParams(const string& name) : RGWSystemMetaObj(name){}
+ explicit RGWZoneParams(const string& name) : RGWSystemMetaObj(name){}
RGWZoneParams(const string& id, const string& name) : RGWSystemMetaObj(id, name) {}
RGWZoneParams(const string& id, const string& name, const string& _realm_id)
: RGWSystemMetaObj(id, name), realm_id(_realm_id) {}
@@ -1510,7 +1510,7 @@ struct RGWZoneGroup : public RGWSystemMetaObj {
RGWZoneGroup(): is_master(false){}
RGWZoneGroup(const std::string &id, const std::string &name):RGWSystemMetaObj(id, name) {}
- RGWZoneGroup(const std::string &_name):RGWSystemMetaObj(_name) {}
+ explicit RGWZoneGroup(const std::string &_name):RGWSystemMetaObj(_name) {}
RGWZoneGroup(const std::string &_name, bool _is_master, CephContext *cct, RGWRados* store,
const string& _realm_id, const list<string>& _endpoints)
: RGWSystemMetaObj(_name, cct , store), endpoints(_endpoints), is_master(_is_master),
@@ -2138,7 +2138,7 @@ class RGWObjectCtxImpl {
RWLock lock;
public:
- RGWObjectCtxImpl(RGWRados *_store) : store(_store), lock("RGWObjectCtxImpl") {}
+ explicit RGWObjectCtxImpl(RGWRados *_store) : store(_store), lock("RGWObjectCtxImpl") {}
S *get_state(const T& obj) {
S *result;
@@ -2222,7 +2222,7 @@ struct tombstone_entry {
uint64_t pg_ver;
tombstone_entry() = default;
- tombstone_entry(const RGWObjState& state)
+ explicit tombstone_entry(const RGWObjState& state)
: mtime(state.mtime), zone_short_id(state.zone_short_id),
pg_ver(state.pg_ver) {}
};
diff --git a/src/rgw/rgw_realm_reloader.cc b/src/rgw/rgw_realm_reloader.cc
index af4a72c5dc8..8e7d28db404 100644
--- a/src/rgw/rgw_realm_reloader.cc
+++ b/src/rgw/rgw_realm_reloader.cc
@@ -44,7 +44,7 @@ RGWRealmReloader::~RGWRealmReloader()
class RGWRealmReloader::C_Reload : public Context {
RGWRealmReloader* reloader;
public:
- C_Reload(RGWRealmReloader* reloader) : reloader(reloader) {}
+ explicit C_Reload(RGWRealmReloader* reloader) : reloader(reloader) {}
void finish(int r) override { reloader->reload(); }
};
diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h
index 6fe43129906..3e45625d971 100644
--- a/src/rgw/rgw_reshard.h
+++ b/src/rgw/rgw_reshard.h
@@ -112,7 +112,7 @@ class RGWReshardWait {
int do_wait();
public:
- RGWReshardWait(RGWRados *_store) : store(_store) {}
+ explicit RGWReshardWait(RGWRados *_store) : store(_store) {}
~RGWReshardWait() {
assert(going_down);
}
diff --git a/src/rgw/rgw_rest_client.cc b/src/rgw/rgw_rest_client.cc
index cd8b8e08122..73833eef0fb 100644
--- a/src/rgw/rgw_rest_client.cc
+++ b/src/rgw/rgw_rest_client.cc
@@ -980,7 +980,7 @@ int RGWHTTPStreamRWRequest::send_data(void *ptr, size_t len, bool *pause)
class StreamIntoBufferlist : public RGWGetDataCB {
bufferlist& bl;
public:
- StreamIntoBufferlist(bufferlist& _bl) : bl(_bl) {}
+ explicit StreamIntoBufferlist(bufferlist& _bl) : bl(_bl) {}
int handle_data(bufferlist& inbl, off_t bl_ofs, off_t bl_len) override {
bl.claim_append(inbl);
return bl_len;
diff --git a/src/rgw/rgw_rest_config.h b/src/rgw/rgw_rest_config.h
index 5751f8b0687..b647c8c813e 100644
--- a/src/rgw/rgw_rest_config.h
+++ b/src/rgw/rgw_rest_config.h
@@ -19,7 +19,7 @@ class RGWOp_ZoneGroupMap_Get : public RGWRESTOp {
RGWZoneGroupMap zonegroup_map;
bool old_format;
public:
- RGWOp_ZoneGroupMap_Get(bool _old_format):old_format(_old_format) {}
+ explicit RGWOp_ZoneGroupMap_Get(bool _old_format):old_format(_old_format) {}
~RGWOp_ZoneGroupMap_Get() override {}
int verify_permission() override {
diff --git a/src/rgw/rgw_rest_conn.h b/src/rgw/rgw_rest_conn.h
index 4ae17760a49..d0819eaffdd 100644
--- a/src/rgw/rgw_rest_conn.h
+++ b/src/rgw/rgw_rest_conn.h
@@ -240,7 +240,7 @@ int RGWRESTConn::get_json_resource(const string& resource, const rgw_http_param
class RGWStreamIntoBufferlist : public RGWHTTPStreamRWRequest::ReceiveCB {
bufferlist& bl;
public:
- RGWStreamIntoBufferlist(bufferlist& _bl) : bl(_bl) {}
+ explicit RGWStreamIntoBufferlist(bufferlist& _bl) : bl(_bl) {}
int handle_data(bufferlist& inbl, bool *pause) override {
bl.claim_append(inbl);
return inbl.length();
diff --git a/src/rgw/rgw_rest_s3.h b/src/rgw/rgw_rest_s3.h
index 9e5ef4316ae..1c928bd98bc 100644
--- a/src/rgw/rgw_rest_s3.h
+++ b/src/rgw/rgw_rest_s3.h
@@ -478,7 +478,7 @@ class RGWHandler_Auth_S3 : public RGWHandler_REST {
const rgw::auth::StrategyRegistry& auth_registry;
public:
- RGWHandler_Auth_S3(const rgw::auth::StrategyRegistry& auth_registry)
+ explicit RGWHandler_Auth_S3(const rgw::auth::StrategyRegistry& auth_registry)
: RGWHandler_REST(),
auth_registry(auth_registry) {
}
@@ -503,7 +503,7 @@ class RGWHandler_REST_S3 : public RGWHandler_REST {
public:
static int init_from_header(struct req_state *s, int default_formatter, bool configurable_format);
- RGWHandler_REST_S3(const rgw::auth::StrategyRegistry& auth_registry)
+ explicit RGWHandler_REST_S3(const rgw::auth::StrategyRegistry& auth_registry)
: RGWHandler_REST(),
auth_registry(auth_registry) {
}
@@ -772,7 +772,7 @@ class AWSGeneralAbstractor : public AWSEngine::VersionAbstractor {
auth_data_t get_auth_data_v4(const req_state* s, const bool using_qs) const;
public:
- AWSGeneralAbstractor(CephContext* const cct)
+ explicit AWSGeneralAbstractor(CephContext* const cct)
: cct(cct) {
}
@@ -799,7 +799,7 @@ class AWSBrowserUploadAbstractor : public AWSEngine::VersionAbstractor {
auth_data_t get_auth_data_v4(const req_state* s) const;
public:
- AWSBrowserUploadAbstractor(CephContext*) {
+ explicit AWSBrowserUploadAbstractor(CephContext*) {
}
auth_data_t get_auth_data(const req_state* s) const override;
@@ -897,7 +897,7 @@ class S3AuthFactory : public rgw::auth::RemoteApplier::Factory,
RGWRados* const store;
public:
- S3AuthFactory(RGWRados* const store)
+ explicit S3AuthFactory(RGWRados* const store)
: store(store) {
}
diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc
index ebf2803b621..86133f2ee32 100644
--- a/src/rgw/rgw_rest_swift.cc
+++ b/src/rgw/rgw_rest_swift.cc
@@ -2317,7 +2317,7 @@ RGWOp* RGWSwiftWebsiteHandler::get_ws_redirect_op()
class RGWMovedPermanently: public RGWOp {
const std::string location;
public:
- RGWMovedPermanently(const std::string& location)
+ explicit RGWMovedPermanently(const std::string& location)
: location(location) {
}
@@ -2418,7 +2418,7 @@ RGWOp* RGWSwiftWebsiteHandler::get_ws_listing_op()
public:
/* Taking prefix_override by value to leverage std::string r-value ref
* ctor and thus avoid extra memory copying/increasing ref counter. */
- RGWWebsiteListing(std::string prefix_override)
+ explicit RGWWebsiteListing(std::string prefix_override)
: prefix_override(std::move(prefix_override)) {
}
};
diff --git a/src/rgw/rgw_rest_swift.h b/src/rgw/rgw_rest_swift.h
index a0fd8cfd057..6ed9346d5b8 100644
--- a/src/rgw/rgw_rest_swift.h
+++ b/src/rgw/rgw_rest_swift.h
@@ -385,7 +385,7 @@ protected:
static int init_from_header(struct req_state* s,
const std::string& frontend_prefix);
public:
- RGWHandler_REST_SWIFT(const rgw::auth::Strategy& auth_strategy)
+ explicit RGWHandler_REST_SWIFT(const rgw::auth::Strategy& auth_strategy)
: auth_strategy(auth_strategy) {
}
~RGWHandler_REST_SWIFT() override = default;
diff --git a/src/rgw/rgw_sync.cc b/src/rgw/rgw_sync.cc
index 660b10b6897..bda0b85f54c 100644
--- a/src/rgw/rgw_sync.cc
+++ b/src/rgw/rgw_sync.cc
@@ -2740,7 +2740,7 @@ class MetaMasterStatusCollectCR : public RGWShardCollectCR {
connection_map::iterator c;
std::vector<rgw_meta_sync_status>::iterator s;
public:
- MetaMasterStatusCollectCR(MasterTrimEnv& env)
+ explicit MetaMasterStatusCollectCR(MasterTrimEnv& env)
: RGWShardCollectCR(env.store->ctx(), MAX_CONCURRENT_SHARDS),
env(env), c(env.connections.begin()), s(env.peer_status.begin())
{}
@@ -2772,7 +2772,7 @@ class MetaMasterTrimCR : public RGWCoroutine {
int ret{0};
public:
- MetaMasterTrimCR(MasterTrimEnv& env)
+ explicit MetaMasterTrimCR(MasterTrimEnv& env)
: RGWCoroutine(env.store->ctx()), env(env)
{}
@@ -2976,7 +2976,7 @@ class MetaPeerTrimCR : public RGWCoroutine {
rgw_mdlog_info mdlog_info; //< master's mdlog info
public:
- MetaPeerTrimCR(PeerTrimEnv& env) : RGWCoroutine(env.store->ctx()), env(env) {}
+ explicit MetaPeerTrimCR(PeerTrimEnv& env) : RGWCoroutine(env.store->ctx()), env(env) {}
int operate();
};
diff --git a/src/rgw/rgw_sync.h b/src/rgw/rgw_sync.h
index cea8a5cb886..22ea97c8210 100644
--- a/src/rgw/rgw_sync.h
+++ b/src/rgw/rgw_sync.h
@@ -116,7 +116,7 @@ class RGWSyncBackoff {
void update_wait_time();
public:
- RGWSyncBackoff(int _max_secs = DEFAULT_BACKOFF_MAX) : cur_wait(0), max_secs(_max_secs) {}
+ explicit RGWSyncBackoff(int _max_secs = DEFAULT_BACKOFF_MAX) : cur_wait(0), max_secs(_max_secs) {}
void backoff_sleep();
void reset() {
@@ -302,7 +302,7 @@ class RGWLastCallerWinsCR : public RGWOrderCallCR
RGWCoroutine *cr{nullptr};
public:
- RGWLastCallerWinsCR(CephContext *cct) : RGWOrderCallCR(cct) {}
+ explicit RGWLastCallerWinsCR(CephContext *cct) : RGWOrderCallCR(cct) {}
~RGWLastCallerWinsCR() {
if (cr) {
cr->put();
diff --git a/src/rgw/rgw_sync_log_trim.cc b/src/rgw/rgw_sync_log_trim.cc
index e1002253b8d..1024c9d8d2c 100644
--- a/src/rgw/rgw_sync_log_trim.cc
+++ b/src/rgw/rgw_sync_log_trim.cc
@@ -101,7 +101,7 @@ struct TrimCounters {
class Handler : public TrimNotifyHandler {
Server *const server;
public:
- Handler(Server *server) : server(server) {}
+ explicit Handler(Server *server) : server(server) {}
void handle(bufferlist::iterator& input, bufferlist& output) override;
};
@@ -185,7 +185,7 @@ struct TrimComplete {
class Handler : public TrimNotifyHandler {
Server *const server;
public:
- Handler(Server *server) : server(server) {}
+ explicit Handler(Server *server) : server(server) {}
void handle(bufferlist::iterator& input, bufferlist& output) override;
};
diff --git a/src/rgw/rgw_sync_module_aws.cc b/src/rgw/rgw_sync_module_aws.cc
index 9231df5f184..f6ae14bd7ac 100644
--- a/src/rgw/rgw_sync_module_aws.cc
+++ b/src/rgw/rgw_sync_module_aws.cc
@@ -660,7 +660,7 @@ struct AWSSyncInstanceEnv {
AWSSyncConfig conf;
string id;
- AWSSyncInstanceEnv(AWSSyncConfig& _conf) : conf(_conf) {}
+ explicit AWSSyncInstanceEnv(AWSSyncConfig& _conf) : conf(_conf) {}
void init(RGWDataSyncEnv *sync_env, uint64_t instance_id) {
char buf[32];
@@ -1241,7 +1241,7 @@ class RGWAWSCompleteMultipartCR : public RGWCoroutine {
struct CompleteMultipartReq {
map<int, rgw_sync_aws_multipart_part_info> parts;
- CompleteMultipartReq(const map<int, rgw_sync_aws_multipart_part_info>& _parts) : parts(_parts) {}
+ explicit CompleteMultipartReq(const map<int, rgw_sync_aws_multipart_part_info>& _parts) : parts(_parts) {}
void dump_xml(Formatter *f) const {
for (auto p : parts) {
diff --git a/src/rgw/rgw_sync_module_es_rest.cc b/src/rgw/rgw_sync_module_es_rest.cc
index 200335ffa63..271c549afdb 100644
--- a/src/rgw/rgw_sync_module_es_rest.cc
+++ b/src/rgw/rgw_sync_module_es_rest.cc
@@ -263,7 +263,7 @@ void RGWMetadataSearchOp::execute()
class RGWMetadataSearch_ObjStore_S3 : public RGWMetadataSearchOp {
public:
- RGWMetadataSearch_ObjStore_S3(const RGWSyncModuleInstanceRef& _sync_module) : RGWMetadataSearchOp(_sync_module) {
+ explicit RGWMetadataSearch_ObjStore_S3(const RGWSyncModuleInstanceRef& _sync_module) : RGWMetadataSearchOp(_sync_module) {
custom_prefix = "x-amz-meta-";
}
@@ -383,7 +383,7 @@ protected:
return nullptr;
}
public:
- RGWHandler_REST_MDSearch_S3(const rgw::auth::StrategyRegistry& auth_registry) : RGWHandler_REST_S3(auth_registry) {}
+ explicit RGWHandler_REST_MDSearch_S3(const rgw::auth::StrategyRegistry& auth_registry) : RGWHandler_REST_S3(auth_registry) {}
virtual ~RGWHandler_REST_MDSearch_S3() {}
};
diff --git a/src/rgw/rgw_sync_module_log.cc b/src/rgw/rgw_sync_module_log.cc
index 0378c040b6a..25e3c61ca0e 100644
--- a/src/rgw/rgw_sync_module_log.cc
+++ b/src/rgw/rgw_sync_module_log.cc
@@ -36,7 +36,7 @@ public:
class RGWLogDataSyncModule : public RGWDataSyncModule {
string prefix;
public:
- RGWLogDataSyncModule(const string& _prefix) : prefix(_prefix) {}
+ explicit RGWLogDataSyncModule(const string& _prefix) : prefix(_prefix) {}
RGWCoroutine *sync_object(RGWDataSyncEnv *sync_env, RGWBucketInfo& bucket_info, rgw_obj_key& key, uint64_t versioned_epoch, rgw_zone_set *zones_trace) override {
ldout(sync_env->cct, 0) << prefix << ": SYNC_LOG: sync_object: b=" << bucket_info.bucket << " k=" << key << " versioned_epoch=" << versioned_epoch << dendl;
@@ -57,7 +57,7 @@ public:
class RGWLogSyncModuleInstance : public RGWSyncModuleInstance {
RGWLogDataSyncModule data_handler;
public:
- RGWLogSyncModuleInstance(const string& prefix) : data_handler(prefix) {}
+ explicit RGWLogSyncModuleInstance(const string& prefix) : data_handler(prefix) {}
RGWDataSyncModule *get_data_handler() override {
return &data_handler;
}
diff --git a/src/rgw/rgw_tar.h b/src/rgw/rgw_tar.h
index 2e5add6ed13..b322a2916da 100644
--- a/src/rgw/rgw_tar.h
+++ b/src/rgw/rgw_tar.h
@@ -92,7 +92,7 @@ protected:
}
public:
- HeaderView(const char (&header)[BLOCK_SIZE])
+ explicit HeaderView(const char (&header)[BLOCK_SIZE])
: header(reinterpret_cast<const header_t*>(header)) {
}
diff --git a/src/test/cls_rbd/test_cls_rbd.cc b/src/test/cls_rbd/test_cls_rbd.cc
index 8558c97f88c..201053b8133 100644
--- a/src/test/cls_rbd/test_cls_rbd.cc
+++ b/src/test/cls_rbd/test_cls_rbd.cc
@@ -1616,7 +1616,7 @@ TEST_F(TestClsRbd, mirror_image_status) {
struct WatchCtx : public librados::WatchCtx2 {
librados::IoCtx *m_ioctx;
- WatchCtx(librados::IoCtx *ioctx) : m_ioctx(ioctx) {}
+ explicit WatchCtx(librados::IoCtx *ioctx) : m_ioctx(ioctx) {}
void handle_notify(uint64_t notify_id, uint64_t cookie,
uint64_t notifier_id, bufferlist& bl_) override {
bufferlist bl;
diff --git a/src/test/common/test_lru.cc b/src/test/common/test_lru.cc
index 5db18314c4b..29f32aac373 100644
--- a/src/test/common/test_lru.cc
+++ b/src/test/common/test_lru.cc
@@ -24,7 +24,7 @@ class Item : public LRUObject {
public:
int id;
Item() : id(0) {}
- Item(int i) : id(i) {}
+ explicit Item(int i) : id(i) {}
void set(int i) {id = i;}
};
diff --git a/src/test/common/test_mclock_priority_queue.cc b/src/test/common/test_mclock_priority_queue.cc
index 3db94d8a56f..56d264090d0 100644
--- a/src/test/common/test_mclock_priority_queue.cc
+++ b/src/test/common/test_mclock_priority_queue.cc
@@ -25,7 +25,7 @@ struct Request {
value(0)
{}
Request(const Request& o) = default;
- Request(int value) :
+ explicit Request(int value) :
value(value)
{}
};
diff --git a/src/test/common/test_static_ptr.cc b/src/test/common/test_static_ptr.cc
index bfa5733d817..29b45badaea 100644
--- a/src/test/common/test_static_ptr.cc
+++ b/src/test/common/test_static_ptr.cc
@@ -45,7 +45,7 @@ public:
class great_grandchild : public grandchild {
public:
- great_grandchild(int val) : grandchild(val) {}
+ explicit great_grandchild(int val) : grandchild(val) {}
int call(int n) override { return n + val; }
};
diff --git a/src/test/encoding/test_ceph_time.h b/src/test/encoding/test_ceph_time.h
index 18f89314b7a..138c9131064 100644
--- a/src/test/encoding/test_ceph_time.h
+++ b/src/test/encoding/test_ceph_time.h
@@ -12,7 +12,7 @@ class real_time_wrapper {
ceph::real_time t;
public:
real_time_wrapper() = default;
- real_time_wrapper(const ceph::real_time& t) : t(t) {}
+ explicit real_time_wrapper(const ceph::real_time& t) : t(t) {}
void encode(bufferlist& bl) const {
using ceph::encode;
diff --git a/src/test/fio/fio_ceph_objectstore.cc b/src/test/fio/fio_ceph_objectstore.cc
index 197ac267516..c020487c6b9 100644
--- a/src/test/fio/fio_ceph_objectstore.cc
+++ b/src/test/fio/fio_ceph_objectstore.cc
@@ -254,7 +254,7 @@ struct Engine {
int ref_count;
const bool unlink; //< unlink objects on destruction
- Engine(thread_data* td);
+ explicit Engine(thread_data* td);
~Engine();
static Engine* get_instance(thread_data* td) {
@@ -531,7 +531,7 @@ int fio_ceph_os_getevents(thread_data* td, unsigned int min,
class UnitComplete : public Context {
io_u* u;
public:
- UnitComplete(io_u* u) : u(u) {}
+ explicit UnitComplete(io_u* u) : u(u) {}
void finish(int r) {
// mark the pointer to indicate completion for fio_ceph_os_getevents()
u->engine_data = reinterpret_cast<void*>(1ull);
diff --git a/src/test/librbd/deep_copy/test_mock_ImageCopyRequest.cc b/src/test/librbd/deep_copy/test_mock_ImageCopyRequest.cc
index bd8932e788b..e2a189a76d8 100644
--- a/src/test/librbd/deep_copy/test_mock_ImageCopyRequest.cc
+++ b/src/test/librbd/deep_copy/test_mock_ImageCopyRequest.cc
@@ -19,7 +19,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc b/src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc
index 448e5dda89c..d568a1f4d93 100644
--- a/src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc
+++ b/src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc
@@ -21,7 +21,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/deep_copy/test_mock_SetHeadRequest.cc b/src/test/librbd/deep_copy/test_mock_SetHeadRequest.cc
index b29b875e27d..bebcddcd737 100644
--- a/src/test/librbd/deep_copy/test_mock_SetHeadRequest.cc
+++ b/src/test/librbd/deep_copy/test_mock_SetHeadRequest.cc
@@ -15,7 +15,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/deep_copy/test_mock_SnapshotCopyRequest.cc b/src/test/librbd/deep_copy/test_mock_SnapshotCopyRequest.cc
index 805003e7f51..8dcaf266d6f 100644
--- a/src/test/librbd/deep_copy/test_mock_SnapshotCopyRequest.cc
+++ b/src/test/librbd/deep_copy/test_mock_SnapshotCopyRequest.cc
@@ -18,7 +18,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/deep_copy/test_mock_SnapshotCreateRequest.cc b/src/test/librbd/deep_copy/test_mock_SnapshotCreateRequest.cc
index b43a338baee..e60a4a3be48 100644
--- a/src/test/librbd/deep_copy/test_mock_SnapshotCreateRequest.cc
+++ b/src/test/librbd/deep_copy/test_mock_SnapshotCreateRequest.cc
@@ -17,7 +17,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/exclusive_lock/test_mock_PostAcquireRequest.cc b/src/test/librbd/exclusive_lock/test_mock_PostAcquireRequest.cc
index 0f47a75043d..dd2e2c66906 100644
--- a/src/test/librbd/exclusive_lock/test_mock_PostAcquireRequest.cc
+++ b/src/test/librbd/exclusive_lock/test_mock_PostAcquireRequest.cc
@@ -21,7 +21,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/exclusive_lock/test_mock_PreAcquireRequest.cc b/src/test/librbd/exclusive_lock/test_mock_PreAcquireRequest.cc
index 467dd392494..5b4bce6dd58 100644
--- a/src/test/librbd/exclusive_lock/test_mock_PreAcquireRequest.cc
+++ b/src/test/librbd/exclusive_lock/test_mock_PreAcquireRequest.cc
@@ -16,7 +16,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/journal/test_mock_OpenRequest.cc b/src/test/librbd/journal/test_mock_OpenRequest.cc
index 155c5fd5d80..866ab5bea83 100644
--- a/src/test/librbd/journal/test_mock_OpenRequest.cc
+++ b/src/test/librbd/journal/test_mock_OpenRequest.cc
@@ -15,7 +15,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx& image_ctx) : MockImageCtx(image_ctx) {
+ explicit MockTestImageCtx(librbd::ImageCtx& image_ctx) : MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/journal/test_mock_PromoteRequest.cc b/src/test/librbd/journal/test_mock_PromoteRequest.cc
index 775a1463655..17120dc72c3 100644
--- a/src/test/librbd/journal/test_mock_PromoteRequest.cc
+++ b/src/test/librbd/journal/test_mock_PromoteRequest.cc
@@ -13,7 +13,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx& image_ctx) : MockImageCtx(image_ctx) {
+ explicit MockTestImageCtx(librbd::ImageCtx& image_ctx) : MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/journal/test_mock_Replay.cc b/src/test/librbd/journal/test_mock_Replay.cc
index d5b5da852e4..1c9a9c0875e 100644
--- a/src/test/librbd/journal/test_mock_Replay.cc
+++ b/src/test/librbd/journal/test_mock_Replay.cc
@@ -16,7 +16,7 @@ namespace librbd {
namespace {
struct MockReplayImageCtx : public MockImageCtx {
- MockReplayImageCtx(ImageCtx &image_ctx) : MockImageCtx(image_ctx) {
+ explicit MockReplayImageCtx(ImageCtx &image_ctx) : MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/mirror/test_mock_DisableRequest.cc b/src/test/librbd/mirror/test_mock_DisableRequest.cc
index df5a9c3e76c..6ab1be748e6 100644
--- a/src/test/librbd/mirror/test_mock_DisableRequest.cc
+++ b/src/test/librbd/mirror/test_mock_DisableRequest.cc
@@ -17,7 +17,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx& image_ctx) : MockImageCtx(image_ctx) {
+ explicit MockTestImageCtx(librbd::ImageCtx& image_ctx) : MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc
index 4841ec143b4..a18f67e5a9d 100644
--- a/src/test/librbd/test_librbd.cc
+++ b/src/test/librbd/test_librbd.cc
@@ -712,7 +712,7 @@ TEST_F(TestLibRBD, UpdateWatchAndResize)
Watcher *watcher = static_cast<Watcher *>(arg);
watcher->handle_notify();
}
- Watcher(rbd_image_t &image) : m_image(image) {}
+ explicit Watcher(rbd_image_t &image) : m_image(image) {}
void handle_notify() {
rbd_image_info_t info;
ASSERT_EQ(0, rbd_stat(m_image, &info, sizeof(info)));
@@ -758,7 +758,7 @@ TEST_F(TestLibRBD, UpdateWatchAndResizePP)
std::string name = get_temp_image_name();
uint64_t size = 2 << 20;
struct Watcher : public librbd::UpdateWatchCtx {
- Watcher(librbd::Image &image) : m_image(image) {
+ explicit Watcher(librbd::Image &image) : m_image(image) {
}
void handle_notify() override {
librbd::image_info_t info;
diff --git a/src/test/librbd/test_mirroring.cc b/src/test/librbd/test_mirroring.cc
index ce21e3f8756..b4fdeae3f33 100644
--- a/src/test/librbd/test_mirroring.cc
+++ b/src/test/librbd/test_mirroring.cc
@@ -660,7 +660,7 @@ TEST_F(TestMirroring, RemoveBootstrapped)
// simulate the image is open by rbd-mirror bootstrap
uint64_t handle;
struct MirrorWatcher : public librados::WatchCtx2 {
- MirrorWatcher(librados::IoCtx &ioctx) : m_ioctx(ioctx) {
+ explicit MirrorWatcher(librados::IoCtx &ioctx) : m_ioctx(ioctx) {
}
void handle_notify(uint64_t notify_id, uint64_t cookie,
uint64_t notifier_id, bufferlist& bl) override {
diff --git a/src/test/librbd/test_mock_DeepCopyRequest.cc b/src/test/librbd/test_mock_DeepCopyRequest.cc
index 1148d458400..64ea61d9245 100644
--- a/src/test/librbd/test_mock_DeepCopyRequest.cc
+++ b/src/test/librbd/test_mock_DeepCopyRequest.cc
@@ -23,7 +23,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/librbd/test_mock_ManagedLock.cc b/src/test/librbd/test_mock_ManagedLock.cc
index e4b8c4c0b0c..1a841b4c690 100644
--- a/src/test/librbd/test_mock_ManagedLock.cc
+++ b/src/test/librbd/test_mock_ManagedLock.cc
@@ -16,7 +16,7 @@
namespace librbd {
struct MockManagedLockImageCtx : public MockImageCtx {
- MockManagedLockImageCtx(ImageCtx &image_ctx) : MockImageCtx(image_ctx) {}
+ explicit MockManagedLockImageCtx(ImageCtx &image_ctx) : MockImageCtx(image_ctx) {}
};
namespace watcher {
diff --git a/src/test/librgw_file_aw.cc b/src/test/librgw_file_aw.cc
index 3e38728b7c4..859cd14074d 100644
--- a/src/test/librgw_file_aw.cc
+++ b/src/test/librgw_file_aw.cc
@@ -75,7 +75,7 @@ namespace {
std::vector<ZPage*> pages;
struct iovec* iovs;
- ZPageSet(int n) {
+ explicit ZPageSet(int n) {
pages.reserve(n);
iovs = (struct iovec*) calloc(n, sizeof(struct iovec));
for (int page_ix = 0; page_ix < n; ++page_ix) {
diff --git a/src/test/librgw_file_gp.cc b/src/test/librgw_file_gp.cc
index e48952a85d8..80a165418a4 100644
--- a/src/test/librgw_file_gp.cc
+++ b/src/test/librgw_file_gp.cc
@@ -78,7 +78,7 @@ namespace {
std::vector<ZPage*> pages;
struct iovec* iovs;
- ZPageSet(int n) {
+ explicit ZPageSet(int n) {
pages.reserve(n);
iovs = (struct iovec*) calloc(n, sizeof(struct iovec));
for (int page_ix = 0; page_ix < n; ++page_ix) {
diff --git a/src/test/mon/PGMap.cc b/src/test/mon/PGMap.cc
index 79fe772945f..d4fd66e8978 100644
--- a/src/test/mon/PGMap.cc
+++ b/src/test/mon/PGMap.cc
@@ -20,7 +20,7 @@
namespace {
class CheckTextTable : public TextTable {
public:
- CheckTextTable(bool verbose) {
+ explicit CheckTextTable(bool verbose) {
for (int i = 0; i < 4; i++) {
define_column("", TextTable::LEFT, TextTable::LEFT);
}
diff --git a/src/test/msgr/test_async_networkstack.cc b/src/test/msgr/test_async_networkstack.cc
index 81a24c31833..b3d36cae8e0 100644
--- a/src/test/msgr/test_async_networkstack.cc
+++ b/src/test/msgr/test_async_networkstack.cc
@@ -125,7 +125,7 @@ class C_poll : public EventCallback {
static const int sleepus = 500;
public:
- C_poll(EventCenter *c): center(c), woken(false) {}
+ explicit C_poll(EventCenter *c): center(c), woken(false) {}
void do_request(uint64_t r) override {
woken = true;
}
@@ -573,7 +573,7 @@ class StressFactory {
std::random_device rd;
std::default_random_engine rng;
- RandomString(size_t s): slen(s), rng(rd()) {}
+ explicit RandomString(size_t s): slen(s), rng(rd()) {}
void prepare(size_t n) {
static const char alphabet[] =
"abcdefghijklmnopqrstuvwxyz"
@@ -631,7 +631,7 @@ class StressFactory {
class C_delete : public EventCallback {
T *ctxt;
public:
- C_delete(T *c): ctxt(c) {}
+ explicit C_delete(T *c): ctxt(c) {}
void do_request(uint64_t id) override {
delete ctxt;
delete this;
@@ -656,7 +656,7 @@ class StressFactory {
class Client_read_handle : public EventCallback {
Client *c;
public:
- Client_read_handle(Client *_c): c(_c) {}
+ explicit Client_read_handle(Client *_c): c(_c) {}
void do_request(uint64_t id) override {
c->do_read_request();
}
@@ -665,7 +665,7 @@ class StressFactory {
class Client_write_handle : public EventCallback {
Client *c;
public:
- Client_write_handle(Client *_c): c(_c) {}
+ explicit Client_write_handle(Client *_c): c(_c) {}
void do_request(uint64_t id) override {
c->do_write_request();
}
@@ -795,7 +795,7 @@ class StressFactory {
class Server_read_handle : public EventCallback {
Server *s;
public:
- Server_read_handle(Server *_s): s(_s) {}
+ explicit Server_read_handle(Server *_s): s(_s) {}
void do_request(uint64_t id) override {
s->do_read_request();
}
@@ -804,7 +804,7 @@ class StressFactory {
class Server_write_handle : public EventCallback {
Server *s;
public:
- Server_write_handle(Server *_s): s(_s) {}
+ explicit Server_write_handle(Server *_s): s(_s) {}
void do_request(uint64_t id) override {
s->do_write_request();
}
diff --git a/src/test/objectstore/BitAllocator_test.cc b/src/test/objectstore/BitAllocator_test.cc
index caaa2e9a8b8..865309cfc6a 100644
--- a/src/test/objectstore/BitAllocator_test.cc
+++ b/src/test/objectstore/BitAllocator_test.cc
@@ -34,7 +34,7 @@ TEST(BitAllocator, test_bmap_iter)
BmapEntityTmp() {
}
- BmapEntityTmp(int num) {
+ explicit BmapEntityTmp(int num) {
m_num = num;
m_len = num;
}
diff --git a/src/test/objectstore/store_test_fixture.h b/src/test/objectstore/store_test_fixture.h
index 5788651f399..02b1235cbc3 100644
--- a/src/test/objectstore/store_test_fixture.h
+++ b/src/test/objectstore/store_test_fixture.h
@@ -17,7 +17,7 @@ public:
boost::scoped_ptr<ObjectStore> store;
ObjectStore::CollectionHandle ch;
- StoreTestFixture(const std::string& type)
+ explicit StoreTestFixture(const std::string& type)
: type(type), data_dir(type + ".test_temp_dir")
{}
diff --git a/src/test/osd/types.cc b/src/test/osd/types.cc
index 2c8a9b476db..777cbe73de6 100644
--- a/src/test/osd/types.cc
+++ b/src/test/osd/types.cc
@@ -1308,7 +1308,7 @@ TEST(pool_opts_t, deep_scrub_interval) {
struct RequiredPredicate : IsPGRecoverablePredicate {
unsigned required_size;
- RequiredPredicate(unsigned required_size) : required_size(required_size) {}
+ explicit RequiredPredicate(unsigned required_size) : required_size(required_size) {}
bool operator()(const set<pg_shard_t> &have) const override {
return have.size() >= required_size;
}
@@ -1317,7 +1317,7 @@ struct RequiredPredicate : IsPGRecoverablePredicate {
using namespace std;
struct MapPredicate {
map<int, pair<PastIntervals::osd_state_t, epoch_t>> states;
- MapPredicate(
+ explicit MapPredicate(
const vector<pair<int, pair<PastIntervals::osd_state_t, epoch_t>>> &_states)
: states(_states.begin(), _states.end()) {}
PastIntervals::osd_state_t operator()(epoch_t start, int osd, epoch_t *lost_at) {
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 62c0e43e385..0c3bf6613ff 100644
--- a/src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc
+++ b/src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc
@@ -21,7 +21,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
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 84511411f74..9e02a82f38d 100644
--- a/src/test/rbd_mirror/image_replayer/test_mock_EventPreprocessor.cc
+++ b/src/test/rbd_mirror/image_replayer/test_mock_EventPreprocessor.cc
@@ -14,7 +14,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
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 1414d333597..37556257a3f 100644
--- a/src/test/rbd_mirror/image_sync/test_mock_SyncPointCreateRequest.cc
+++ b/src/test/rbd_mirror/image_sync/test_mock_SyncPointCreateRequest.cc
@@ -15,7 +15,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
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 f02645b045b..d230944e1b2 100644
--- a/src/test/rbd_mirror/image_sync/test_mock_SyncPointPruneRequest.cc
+++ b/src/test/rbd_mirror/image_sync/test_mock_SyncPointPruneRequest.cc
@@ -15,7 +15,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/rbd_mirror/pool_watcher/test_mock_RefreshImagesRequest.cc b/src/test/rbd_mirror/pool_watcher/test_mock_RefreshImagesRequest.cc
index bcaeaab1229..afabcdfc27a 100644
--- a/src/test/rbd_mirror/pool_watcher/test_mock_RefreshImagesRequest.cc
+++ b/src/test/rbd_mirror/pool_watcher/test_mock_RefreshImagesRequest.cc
@@ -12,7 +12,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/rbd_mirror/test_PoolWatcher.cc b/src/test/rbd_mirror/test_PoolWatcher.cc
index 74383d96b43..02e96422d8c 100644
--- a/src/test/rbd_mirror/test_PoolWatcher.cc
+++ b/src/test/rbd_mirror/test_PoolWatcher.cc
@@ -73,7 +73,7 @@ public:
Cond cond;
ImageIds image_ids;
- PoolWatcherListener(TestPoolWatcher *test) : test(test) {
+ explicit PoolWatcherListener(TestPoolWatcher *test) : test(test) {
}
void handle_update(const std::string &mirror_uuid,
diff --git a/src/test/rbd_mirror/test_mock_ImageSync.cc b/src/test/rbd_mirror/test_mock_ImageSync.cc
index 8414f8ce604..c858f412315 100644
--- a/src/test/rbd_mirror/test_mock_ImageSync.cc
+++ b/src/test/rbd_mirror/test_mock_ImageSync.cc
@@ -19,7 +19,7 @@ namespace librbd {
namespace {
struct MockTestImageCtx : public librbd::MockImageCtx {
- MockTestImageCtx(librbd::ImageCtx &image_ctx)
+ explicit MockTestImageCtx(librbd::ImageCtx &image_ctx)
: librbd::MockImageCtx(image_ctx) {
}
};
diff --git a/src/test/rgw/test_rgw_common.h b/src/test/rgw/test_rgw_common.h
index e434ceb2273..6684dff516e 100644
--- a/src/test/rgw/test_rgw_common.h
+++ b/src/test/rgw/test_rgw_common.h
@@ -39,7 +39,7 @@ struct old_rgw_bucket {
data_pool = index_pool = s;
marker = "";
}
- old_rgw_bucket(const char *n) : name(n) {
+ explicit old_rgw_bucket(const char *n) : name(n) {
data_pool = index_pool = n;
marker = "";
}
diff --git a/src/test/rgw/test_rgw_iam_policy.cc b/src/test/rgw/test_rgw_iam_policy.cc
index ecad57adb72..3bc3a45869c 100644
--- a/src/test/rgw/test_rgw_iam_policy.cc
+++ b/src/test/rgw/test_rgw_iam_policy.cc
@@ -84,7 +84,7 @@ class FakeIdentity : public Identity {
const Principal id;
public:
- FakeIdentity(Principal&& id) : id(std::move(id)) {}
+ explicit FakeIdentity(Principal&& id) : id(std::move(id)) {}
uint32_t get_perms_from_aclspec(const aclspec_t& aclspec) const override {
abort();
return 0;
diff --git a/src/test/rgw/test_rgw_period_history.cc b/src/test/rgw/test_rgw_period_history.cc
index 8c4eba70026..46519d84385 100644
--- a/src/test/rgw/test_rgw_period_history.cc
+++ b/src/test/rgw/test_rgw_period_history.cc
@@ -45,7 +45,7 @@ using Ids = std::vector<std::string>;
class RecordingPuller : public RGWPeriodHistory::Puller {
const int error;
public:
- RecordingPuller(int error) : error(error) {}
+ explicit RecordingPuller(int error) : error(error) {}
Ids ids;
int pull(const std::string& id, RGWPeriod& period) override {
ids.push_back(id);
diff --git a/src/test/test_any.cc b/src/test/test_any.cc
index 03807da05f7..82d4a43f1dc 100644
--- a/src/test/test_any.cc
+++ b/src/test/test_any.cc
@@ -126,7 +126,7 @@ struct not_noexcept {
}
template<typename ...Args>
- not_noexcept(Args&& ...) noexcept(false) {
+ explicit not_noexcept(Args&& ...) noexcept(false) {
}
template<typename U, typename ...Args>
@@ -395,11 +395,11 @@ struct unmoving {
unmoving() noexcept {}
template<typename... Args>
- unmoving(Args&& ...args) noexcept
+ explicit unmoving(Args&& ...args) noexcept
: a(sizeof...(Args)) {}
template<typename U, typename... Args>
- unmoving(std::initializer_list<U> l) noexcept
+ explicit unmoving(std::initializer_list<U> l) noexcept
: a(-l.size()) {}
template<typename U, typename... Args>
diff --git a/src/test/test_denc.cc b/src/test/test_denc.cc
index a147a626e99..674d7f6bbff 100644
--- a/src/test/test_denc.cc
+++ b/src/test/test_denc.cc
@@ -191,7 +191,7 @@ struct legacy_t {
decode(a, p);
}
legacy_t() {}
- legacy_t(int32_t i) : a(i) {}
+ explicit legacy_t(int32_t i) : a(i) {}
friend bool operator<(const legacy_t& l, const legacy_t& r) {
return l.a < r.a;
}
diff --git a/src/test/test_mempool.cc b/src/test/test_mempool.cc
index 44fcbcbeaca..51e8352099b 100644
--- a/src/test/test_mempool.cc
+++ b/src/test/test_mempool.cc
@@ -176,7 +176,7 @@ struct obj {
int a;
int b;
obj() : a(1), b(1) {}
- obj(int _a) : a(_a), b(2) {}
+ explicit obj(int _a) : a(_a), b(2) {}
obj(int _a,int _b) : a(_a), b(_b) {}
friend inline bool operator<(const obj& l, const obj& r) {
return l.a < r.a;