From 2d221a3bd108308d2832dbc2403979a4e7d7e940 Mon Sep 17 00:00:00 2001 From: Lucian Petrut Date: Tue, 5 May 2020 11:25:28 +0000 Subject: [PATCH] cls,rados,rbd,mds,common: Avoid name collision with Windows headers There are a few name collisions between Windows headers and ceph. Where possible, we'll update Ceph code to avoid redefinitions. The following names overlap with Windows headers: * ERROR, NO_ERROR * DELETE * LocalLock * LOCK_SHARED, LOCK_EXCLUSIVE Signed-off-by: Lucian Petrut --- src/cls/lock/cls_lock_client.cc | 18 +++++------ src/cls/lock/cls_lock_ops.cc | 8 ++--- src/cls/lock/cls_lock_ops.h | 8 ++--- src/cls/lock/cls_lock_types.cc | 4 +-- src/cls/lock/cls_lock_types.h | 31 ++++++++++--------- src/include/compat.h | 12 +++++++ src/librados/librados_cxx.cc | 6 ++-- src/libradosstriper/RadosStriperImpl.cc | 6 ++-- src/librbd/ManagedLock.cc | 4 +-- src/librbd/ObjectMap.cc | 2 +- src/librbd/image/RefreshRequest.cc | 6 ++-- src/librbd/internal.cc | 2 +- src/librbd/managed_lock/AcquireRequest.cc | 2 +- src/librbd/managed_lock/GetLockerRequest.cc | 6 ++-- src/librbd/managed_lock/ReacquireRequest.cc | 2 +- src/librbd/object_map/LockRequest.cc | 2 +- src/librbd/object_map/RefreshRequest.cc | 2 +- src/librbd/object_map/ResizeRequest.cc | 2 +- .../object_map/SnapshotCreateRequest.cc | 2 +- .../object_map/SnapshotRemoveRequest.cc | 2 +- .../object_map/SnapshotRollbackRequest.cc | 2 +- src/librbd/object_map/UpdateRequest.cc | 2 +- src/mds/CDentry.h | 4 +-- src/mds/CInode.h | 4 +-- src/mds/{LocalLock.h => LocalLockC.h} | 4 +-- src/mds/Locker.cc | 16 +++++----- src/mds/Locker.h | 8 ++--- src/osd/osd_types.h | 1 + src/test/cls_lock/test_cls_lock.cc | 24 +++++++------- .../managed_lock/test_mock_AcquireRequest.cc | 2 +- .../test_mock_GetLockerRequest.cc | 16 +++++----- .../test_mock_ReacquireRequest.cc | 2 +- src/test/librbd/test_ImageWatcher.cc | 30 +++++++++--------- src/test/librbd/test_internal.cc | 12 +++---- src/tools/rados/rados.cc | 10 +++--- src/tools/rbd/ArgumentTypes.cc | 2 +- src/tools/rbd/ArgumentTypes.h | 4 +-- src/tools/rbd/action/Journal.cc | 4 +-- 38 files changed, 144 insertions(+), 130 deletions(-) rename src/mds/{LocalLock.h => LocalLockC.h} (94%) diff --git a/src/cls/lock/cls_lock_client.cc b/src/cls/lock/cls_lock_client.cc index ce979b6cd5372..3056598679934 100644 --- a/src/cls/lock/cls_lock_client.cc +++ b/src/cls/lock/cls_lock_client.cc @@ -213,52 +213,52 @@ namespace rados { void Lock::assert_locked_shared(ObjectOperation *op) { - assert_locked(op, name, LOCK_SHARED, cookie, tag); + assert_locked(op, name, ClsLockType::SHARED, cookie, tag); } void Lock::assert_locked_exclusive(ObjectOperation *op) { - assert_locked(op, name, LOCK_EXCLUSIVE, cookie, tag); + assert_locked(op, name, ClsLockType::EXCLUSIVE, cookie, tag); } void Lock::assert_locked_exclusive_ephemeral(ObjectOperation *op) { - assert_locked(op, name, LOCK_EXCLUSIVE_EPHEMERAL, cookie, tag); + assert_locked(op, name, ClsLockType::EXCLUSIVE_EPHEMERAL, cookie, tag); } void Lock::lock_shared(ObjectWriteOperation *op) { - lock(op, name, LOCK_SHARED, + lock(op, name, ClsLockType::SHARED, cookie, tag, description, duration, flags); } int Lock::lock_shared(IoCtx *ioctx, const std::string& oid) { - return lock(ioctx, oid, name, LOCK_SHARED, + return lock(ioctx, oid, name, ClsLockType::SHARED, cookie, tag, description, duration, flags); } void Lock::lock_exclusive(ObjectWriteOperation *op) { - lock(op, name, LOCK_EXCLUSIVE, + lock(op, name, ClsLockType::EXCLUSIVE, cookie, tag, description, duration, flags); } int Lock::lock_exclusive(IoCtx *ioctx, const std::string& oid) { - return lock(ioctx, oid, name, LOCK_EXCLUSIVE, + return lock(ioctx, oid, name, ClsLockType::EXCLUSIVE, cookie, tag, description, duration, flags); } void Lock::lock_exclusive_ephemeral(ObjectWriteOperation *op) { - lock(op, name, LOCK_EXCLUSIVE_EPHEMERAL, + lock(op, name, ClsLockType::EXCLUSIVE_EPHEMERAL, cookie, tag, description, duration, flags); } int Lock::lock_exclusive_ephemeral(IoCtx *ioctx, const std::string& oid) { - return lock(ioctx, oid, name, LOCK_EXCLUSIVE_EPHEMERAL, + return lock(ioctx, oid, name, ClsLockType::EXCLUSIVE_EPHEMERAL, cookie, tag, description, duration, flags); } diff --git a/src/cls/lock/cls_lock_ops.cc b/src/cls/lock/cls_lock_ops.cc index aa5f8245d2fad..ef4190c0a3c79 100644 --- a/src/cls/lock/cls_lock_ops.cc +++ b/src/cls/lock/cls_lock_ops.cc @@ -40,7 +40,7 @@ void cls_lock_lock_op::generate_test_instances(list& o) { cls_lock_lock_op *i = new cls_lock_lock_op; i->name = "name"; - i->type = LOCK_SHARED; + i->type = ClsLockType::SHARED; i->cookie = "cookie"; i->tag = "tag"; i->description = "description"; @@ -130,7 +130,7 @@ void cls_lock_get_info_reply::dump(Formatter *f) const void cls_lock_get_info_reply::generate_test_instances(list& o) { cls_lock_get_info_reply *i = new cls_lock_get_info_reply; - i->lock_type = LOCK_SHARED; + i->lock_type = ClsLockType::SHARED; i->tag = "tag"; locker_id_t id1, id2; entity_addr_t addr1, addr2; @@ -180,7 +180,7 @@ void cls_lock_assert_op::generate_test_instances(list& o) { cls_lock_assert_op *i = new cls_lock_assert_op; i->name = "name"; - i->type = LOCK_SHARED; + i->type = ClsLockType::SHARED; i->cookie = "cookie"; i->tag = "tag"; o.push_back(i); @@ -200,7 +200,7 @@ void cls_lock_set_cookie_op::generate_test_instances(listname = "name"; - i->type = LOCK_SHARED; + i->type = ClsLockType::SHARED; i->cookie = "cookie"; i->tag = "tag"; i->new_cookie = "new cookie"; diff --git a/src/cls/lock/cls_lock_ops.h b/src/cls/lock/cls_lock_ops.h index 3df75f22ed1ec..4de050f186b91 100644 --- a/src/cls/lock/cls_lock_ops.h +++ b/src/cls/lock/cls_lock_ops.h @@ -18,7 +18,7 @@ struct cls_lock_lock_op utime_t duration; uint8_t flags; - cls_lock_lock_op() : type(LOCK_NONE), flags(0) {} + cls_lock_lock_op() : type(ClsLockType::NONE), flags(0) {} void encode(ceph::buffer::list &bl) const { ENCODE_START(1, 1, bl); @@ -128,7 +128,7 @@ struct cls_lock_get_info_reply ClsLockType lock_type; std::string tag; - cls_lock_get_info_reply() : lock_type(LOCK_NONE) {} + cls_lock_get_info_reply() : lock_type(ClsLockType::NONE) {} void encode(ceph::buffer::list &bl, uint64_t features) const { ENCODE_START(1, 1, bl); @@ -180,7 +180,7 @@ struct cls_lock_assert_op std::string cookie; std::string tag; - cls_lock_assert_op() : type(LOCK_NONE) {} + cls_lock_assert_op() : type(ClsLockType::NONE) {} void encode(ceph::buffer::list &bl) const { ENCODE_START(1, 1, bl); @@ -214,7 +214,7 @@ struct cls_lock_set_cookie_op std::string tag; std::string new_cookie; - cls_lock_set_cookie_op() : type(LOCK_NONE) {} + cls_lock_set_cookie_op() : type(ClsLockType::NONE) {} void encode(ceph::buffer::list &bl) const { ENCODE_START(1, 1, bl); diff --git a/src/cls/lock/cls_lock_types.cc b/src/cls/lock/cls_lock_types.cc index 9a9a510f3df5b..904ed268eaf15 100644 --- a/src/cls/lock/cls_lock_types.cc +++ b/src/cls/lock/cls_lock_types.cc @@ -69,7 +69,7 @@ void locker_info_t::generate_test_instances(std::list& o) void lock_info_t::dump(ceph::Formatter *f) const { - f->dump_int("lock_type", lock_type); + f->dump_int("lock_type", static_cast(lock_type)); f->dump_string("tag", tag); f->open_array_section("lockers"); for (auto &i : lockers) { @@ -91,7 +91,7 @@ void lock_info_t::generate_test_instances(std::list& o) generate_test_addr(info.addr, 1, 2); info.description = "description"; i->lockers[id] = info; - i->lock_type = LOCK_EXCLUSIVE; + i->lock_type = ClsLockType::EXCLUSIVE; i->tag = "tag"; o.push_back(i); o.push_back(new lock_info_t); diff --git a/src/cls/lock/cls_lock_types.h b/src/cls/lock/cls_lock_types.h index df05c69c24a14..13f3e14781084 100644 --- a/src/cls/lock/cls_lock_types.h +++ b/src/cls/lock/cls_lock_types.h @@ -13,23 +13,23 @@ #define LOCK_FLAG_MAY_RENEW 0x1 /* idempotent lock acquire */ #define LOCK_FLAG_MUST_RENEW 0x2 /* lock must already be acquired */ -enum ClsLockType { - LOCK_NONE = 0, - LOCK_EXCLUSIVE = 1, - LOCK_SHARED = 2, - LOCK_EXCLUSIVE_EPHEMERAL = 3, /* lock object is removed @ unlock */ +enum class ClsLockType { + NONE = 0, + EXCLUSIVE = 1, + SHARED = 2, + EXCLUSIVE_EPHEMERAL = 3, /* lock object is removed @ unlock */ }; inline const char *cls_lock_type_str(ClsLockType type) { switch (type) { - case LOCK_NONE: + case ClsLockType::NONE: return "none"; - case LOCK_EXCLUSIVE: + case ClsLockType::EXCLUSIVE: return "exclusive"; - case LOCK_SHARED: + case ClsLockType::SHARED: return "shared"; - case LOCK_EXCLUSIVE_EPHEMERAL: + case ClsLockType::EXCLUSIVE_EPHEMERAL: return "exclusive-ephemeral"; default: return ""; @@ -37,17 +37,17 @@ inline const char *cls_lock_type_str(ClsLockType type) } inline bool cls_lock_is_exclusive(ClsLockType type) { - return LOCK_EXCLUSIVE == type || LOCK_EXCLUSIVE_EPHEMERAL == type; + return ClsLockType::EXCLUSIVE == type || ClsLockType::EXCLUSIVE_EPHEMERAL == type; } inline bool cls_lock_is_ephemeral(ClsLockType type) { - return LOCK_EXCLUSIVE_EPHEMERAL == type; + return ClsLockType::EXCLUSIVE_EPHEMERAL == type; } inline bool cls_lock_is_valid(ClsLockType type) { - return LOCK_SHARED == type || - LOCK_EXCLUSIVE == type || - LOCK_EXCLUSIVE_EPHEMERAL == type; + return ClsLockType::SHARED == type || + ClsLockType::EXCLUSIVE == type || + ClsLockType::EXCLUSIVE_EPHEMERAL == type; } namespace rados { @@ -161,7 +161,8 @@ namespace rados { decode(tag, bl); DECODE_FINISH(bl); } - lock_info_t() : lock_type(LOCK_NONE) {} + + lock_info_t() : lock_type(ClsLockType::NONE) {} void dump(ceph::Formatter *f) const; static void generate_test_instances(std::list& o); }; diff --git a/src/include/compat.h b/src/include/compat.h index 8a855c188110c..d91cd108d10e1 100644 --- a/src/include/compat.h +++ b/src/include/compat.h @@ -208,6 +208,18 @@ char *ceph_strerror_r(int errnum, char *buf, size_t buflen); #include "include/win32/winsock_compat.h" +#include + +// There are a few name collisions between Windows headers and Ceph. +// Updating Ceph definitions would be the prefferable fix in order to avoid +// confussion, unless it requires too many changes, in which case we're going +// to redefine Windows values by adding the "WIN32_" prefix. +#define WIN32_DELETE 0x00010000L +#undef DELETE + +#define WIN32_ERROR 0 +#undef ERROR + typedef _sigset_t sigset_t; typedef int uid_t; diff --git a/src/librados/librados_cxx.cc b/src/librados/librados_cxx.cc index bc399ea82e51a..9fb8168ba05ac 100644 --- a/src/librados/librados_cxx.cc +++ b/src/librados/librados_cxx.cc @@ -1756,7 +1756,7 @@ int librados::IoCtx::lock_exclusive(const std::string &oid, const std::string &n if (duration) dur.set_from_timeval(duration); - return rados::cls::lock::lock(this, oid, name, LOCK_EXCLUSIVE, cookie, "", + return rados::cls::lock::lock(this, oid, name, ClsLockType::EXCLUSIVE, cookie, "", description, dur, flags); } @@ -1769,7 +1769,7 @@ int librados::IoCtx::lock_shared(const std::string &oid, const std::string &name if (duration) dur.set_from_timeval(duration); - return rados::cls::lock::lock(this, oid, name, LOCK_SHARED, cookie, tag, + return rados::cls::lock::lock(this, oid, name, ClsLockType::SHARED, cookie, tag, description, dur, flags); } @@ -1837,7 +1837,7 @@ int librados::IoCtx::list_lockers(const std::string &oid, const std::string &nam if (tag) *tag = tmp_tag; if (exclusive) { - if (tmp_type == LOCK_EXCLUSIVE) + if (tmp_type == ClsLockType::EXCLUSIVE) *exclusive = 1; else *exclusive = 0; diff --git a/src/libradosstriper/RadosStriperImpl.cc b/src/libradosstriper/RadosStriperImpl.cc index c484482caccba..60fafd463960f 100644 --- a/src/libradosstriper/RadosStriperImpl.cc +++ b/src/libradosstriper/RadosStriperImpl.cc @@ -1069,7 +1069,7 @@ int libradosstriper::RadosStriperImpl::trunc(const std::string& soid, uint64_t s op.assert_exists(); std::string lockCookie = RadosStriperImpl::getUUID(); utime_t dur = utime_t(); - rados::cls::lock::lock(&op, RADOS_LOCK_NAME, LOCK_EXCLUSIVE, lockCookie, "", "", dur, 0); + rados::cls::lock::lock(&op, RADOS_LOCK_NAME, ClsLockType::EXCLUSIVE, lockCookie, "", "", dur, 0); int rc = m_ioCtx.operate(firstObjOid, &op); if (rc) return rc; // load layout and size @@ -1342,7 +1342,7 @@ int libradosstriper::RadosStriperImpl::openStripedObjectForRead( op.assert_exists(); *lockCookie = getUUID(); utime_t dur = utime_t(); - rados::cls::lock::lock(&op, RADOS_LOCK_NAME, LOCK_SHARED, *lockCookie, "Tag", "", dur, 0); + rados::cls::lock::lock(&op, RADOS_LOCK_NAME, ClsLockType::SHARED, *lockCookie, "Tag", "", dur, 0); std::string firstObjOid = getObjectId(soid, 0); int rc = m_ioCtx.operate(firstObjOid, &op); if (rc) { @@ -1371,7 +1371,7 @@ int libradosstriper::RadosStriperImpl::openStripedObjectForWrite(const std::stri op.assert_exists(); *lockCookie = getUUID(); utime_t dur = utime_t(); - rados::cls::lock::lock(&op, RADOS_LOCK_NAME, LOCK_SHARED, *lockCookie, "Tag", "", dur, 0); + rados::cls::lock::lock(&op, RADOS_LOCK_NAME, ClsLockType::SHARED, *lockCookie, "Tag", "", dur, 0); std::string firstObjOid = getObjectId(soid, 0); int rc = m_ioCtx.operate(firstObjOid, &op); if (rc) { diff --git a/src/librbd/ManagedLock.cc b/src/librbd/ManagedLock.cc index 870139f761dc6..27514a9a09fa5 100644 --- a/src/librbd/ManagedLock.cc +++ b/src/librbd/ManagedLock.cc @@ -286,8 +286,8 @@ int ManagedLock::assert_header_locked() { { std::lock_guard locker{m_lock}; rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, - (m_mode == EXCLUSIVE ? LOCK_EXCLUSIVE : - LOCK_SHARED), + (m_mode == EXCLUSIVE ? ClsLockType::EXCLUSIVE : + ClsLockType::SHARED), m_cookie, managed_lock::util::get_watcher_lock_tag()); } diff --git a/src/librbd/ObjectMap.cc b/src/librbd/ObjectMap.cc index 8f998da11034c..65e3fc4a4c247 100644 --- a/src/librbd/ObjectMap.cc +++ b/src/librbd/ObjectMap.cc @@ -234,7 +234,7 @@ void ObjectMap::aio_save(Context *on_finish) { librados::ObjectWriteOperation op; if (m_snap_id == CEPH_NOSNAP) { - rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", ""); + rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", ""); } cls_client::object_map_save(&op, m_object_map); diff --git a/src/librbd/image/RefreshRequest.cc b/src/librbd/image/RefreshRequest.cc index 2ced9c8b1af2a..d70e026e36acb 100644 --- a/src/librbd/image/RefreshRequest.cc +++ b/src/librbd/image/RefreshRequest.cc @@ -295,7 +295,7 @@ Context *RefreshRequest::handle_v1_get_locks(int *result) { *result = rados::cls::lock::get_lock_info_finish(&it, &m_lockers, &lock_type, &m_lock_tag); if (*result == 0) { - m_exclusive_locked = (lock_type == LOCK_EXCLUSIVE); + m_exclusive_locked = (lock_type == ClsLockType::EXCLUSIVE); } } if (*result < 0) { @@ -389,11 +389,11 @@ Context *RefreshRequest::handle_v2_get_mutable_metadata(int *result) { } if (*result >= 0) { - ClsLockType lock_type = LOCK_NONE; + ClsLockType lock_type = ClsLockType::NONE; *result = rados::cls::lock::get_lock_info_finish(&it, &m_lockers, &lock_type, &m_lock_tag); if (*result == 0) { - m_exclusive_locked = (lock_type == LOCK_EXCLUSIVE); + m_exclusive_locked = (lock_type == ClsLockType::EXCLUSIVE); } } diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 62c911ae5f2f1..e3b9bc9ba909d 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -1394,7 +1394,7 @@ int validate_pool(IoCtx &io_ctx, CephContext *cct) { { std::shared_lock locker{ictx->image_lock}; r = rados::cls::lock::lock(&ictx->md_ctx, ictx->header_oid, RBD_LOCK_NAME, - exclusive ? LOCK_EXCLUSIVE : LOCK_SHARED, + exclusive ? ClsLockType::EXCLUSIVE : ClsLockType::SHARED, cookie, tag, "", utime_t(), 0); if (r < 0) { return r; diff --git a/src/librbd/managed_lock/AcquireRequest.cc b/src/librbd/managed_lock/AcquireRequest.cc index f1c2bbd50a27a..c0078b966aa6b 100644 --- a/src/librbd/managed_lock/AcquireRequest.cc +++ b/src/librbd/managed_lock/AcquireRequest.cc @@ -109,7 +109,7 @@ void AcquireRequest::send_lock() { librados::ObjectWriteOperation op; rados::cls::lock::lock(&op, RBD_LOCK_NAME, - m_exclusive ? LOCK_EXCLUSIVE : LOCK_SHARED, m_cookie, + m_exclusive ? ClsLockType::EXCLUSIVE : ClsLockType::SHARED, m_cookie, util::get_watcher_lock_tag(), "", utime_t(), 0); using klass = AcquireRequest; diff --git a/src/librbd/managed_lock/GetLockerRequest.cc b/src/librbd/managed_lock/GetLockerRequest.cc index fb5bb32273120..6b2c27342bff1 100644 --- a/src/librbd/managed_lock/GetLockerRequest.cc +++ b/src/librbd/managed_lock/GetLockerRequest.cc @@ -58,7 +58,7 @@ void GetLockerRequest::handle_get_lockers(int r) { std::map lockers; - ClsLockType lock_type = LOCK_NONE; + ClsLockType lock_type = ClsLockType::NONE; std::string lock_tag; if (r == 0) { auto it = m_out_bl.cbegin(); @@ -84,11 +84,11 @@ void GetLockerRequest::handle_get_lockers(int r) { return; } - if (m_exclusive && lock_type == LOCK_SHARED) { + if (m_exclusive && lock_type == ClsLockType::SHARED) { ldout(m_cct, 5) << "incompatible shared lock type detected" << dendl; finish(-EBUSY); return; - } else if (!m_exclusive && lock_type == LOCK_EXCLUSIVE) { + } else if (!m_exclusive && lock_type == ClsLockType::EXCLUSIVE) { ldout(m_cct, 5) << "incompatible exclusive lock type detected" << dendl; finish(-EBUSY); return; diff --git a/src/librbd/managed_lock/ReacquireRequest.cc b/src/librbd/managed_lock/ReacquireRequest.cc index dc5624d44108f..9eaa5156997a4 100644 --- a/src/librbd/managed_lock/ReacquireRequest.cc +++ b/src/librbd/managed_lock/ReacquireRequest.cc @@ -47,7 +47,7 @@ void ReacquireRequest::set_cookie() { librados::ObjectWriteOperation op; rados::cls::lock::set_cookie(&op, RBD_LOCK_NAME, - m_exclusive ? LOCK_EXCLUSIVE : LOCK_SHARED, + m_exclusive ? ClsLockType::EXCLUSIVE : ClsLockType::SHARED, m_old_cookie, util::get_watcher_lock_tag(), m_new_cookie); diff --git a/src/librbd/object_map/LockRequest.cc b/src/librbd/object_map/LockRequest.cc index 4ed4fa1b82307..b9dc3c42e5465 100644 --- a/src/librbd/object_map/LockRequest.cc +++ b/src/librbd/object_map/LockRequest.cc @@ -35,7 +35,7 @@ void LockRequest::send_lock() { ldout(cct, 10) << this << " " << __func__ << ": oid=" << oid << dendl; librados::ObjectWriteOperation op; - rados::cls::lock::lock(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", "", "", + rados::cls::lock::lock(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", "", "", utime_t(), 0); using klass = LockRequest; diff --git a/src/librbd/object_map/RefreshRequest.cc b/src/librbd/object_map/RefreshRequest.cc index 1af868d287343..d9febda66daaa 100644 --- a/src/librbd/object_map/RefreshRequest.cc +++ b/src/librbd/object_map/RefreshRequest.cc @@ -236,7 +236,7 @@ void RefreshRequest::send_resize() { librados::ObjectWriteOperation op; if (m_snap_id == CEPH_NOSNAP) { - rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", ""); + rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", ""); } if (m_truncate_on_disk_object_map) { op.truncate(0); diff --git a/src/librbd/object_map/ResizeRequest.cc b/src/librbd/object_map/ResizeRequest.cc index 89e39b670d8a5..91a3140ed52fd 100644 --- a/src/librbd/object_map/ResizeRequest.cc +++ b/src/librbd/object_map/ResizeRequest.cc @@ -42,7 +42,7 @@ void ResizeRequest::send() { librados::ObjectWriteOperation op; if (m_snap_id == CEPH_NOSNAP) { - rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", ""); + rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", ""); } cls_client::object_map_resize(&op, m_num_objs, m_default_object_state); diff --git a/src/librbd/object_map/SnapshotCreateRequest.cc b/src/librbd/object_map/SnapshotCreateRequest.cc index 729af867fd20a..3b2e7ee829666 100644 --- a/src/librbd/object_map/SnapshotCreateRequest.cc +++ b/src/librbd/object_map/SnapshotCreateRequest.cc @@ -121,7 +121,7 @@ bool SnapshotCreateRequest::send_add_snapshot() { m_state = STATE_ADD_SNAPSHOT; librados::ObjectWriteOperation op; - rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", ""); + rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", ""); cls_client::object_map_snap_add(&op); librados::AioCompletion *rados_completion = create_callback_completion(); diff --git a/src/librbd/object_map/SnapshotRemoveRequest.cc b/src/librbd/object_map/SnapshotRemoveRequest.cc index a29d78f74c724..1c2ffc753f275 100644 --- a/src/librbd/object_map/SnapshotRemoveRequest.cc +++ b/src/librbd/object_map/SnapshotRemoveRequest.cc @@ -91,7 +91,7 @@ void SnapshotRemoveRequest::remove_snapshot() { librados::ObjectWriteOperation op; if (m_next_snap_id == CEPH_NOSNAP) { - rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", ""); + rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", ""); } cls_client::object_map_snap_remove(&op, m_snap_object_map); diff --git a/src/librbd/object_map/SnapshotRollbackRequest.cc b/src/librbd/object_map/SnapshotRollbackRequest.cc index 476a33b2e1acc..7c2f441cc3ac9 100644 --- a/src/librbd/object_map/SnapshotRollbackRequest.cc +++ b/src/librbd/object_map/SnapshotRollbackRequest.cc @@ -104,7 +104,7 @@ void SnapshotRollbackRequest::send_write_map() { m_state = STATE_WRITE_MAP; librados::ObjectWriteOperation op; - rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", ""); + rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", ""); op.write_full(m_read_bl); librados::AioCompletion *rados_completion = create_callback_completion(); diff --git a/src/librbd/object_map/UpdateRequest.cc b/src/librbd/object_map/UpdateRequest.cc index 53a604bcf248e..30a1f2121bd1b 100644 --- a/src/librbd/object_map/UpdateRequest.cc +++ b/src/librbd/object_map/UpdateRequest.cc @@ -52,7 +52,7 @@ void UpdateRequest::update_object_map() { librados::ObjectWriteOperation op; if (m_snap_id == CEPH_NOSNAP) { - rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, LOCK_EXCLUSIVE, "", ""); + rados::cls::lock::assert_locked(&op, RBD_LOCK_NAME, ClsLockType::EXCLUSIVE, "", ""); } cls_client::object_map_update(&op, m_update_start_object_no, m_update_end_object_no, m_new_state, diff --git a/src/mds/CDentry.h b/src/mds/CDentry.h index 8bfdf0009b315..98c37ca2f3234 100644 --- a/src/mds/CDentry.h +++ b/src/mds/CDentry.h @@ -30,7 +30,7 @@ #include "MDSCacheObject.h" #include "MDSContext.h" #include "SimpleLock.h" -#include "LocalLock.h" +#include "LocalLockC.h" #include "ScrubHeader.h" class CInode; @@ -344,7 +344,7 @@ public: static LockType versionlock_type; SimpleLock lock; // FIXME referenced containers not in mempool - LocalLock versionlock; // FIXME referenced containers not in mempool + LocalLockC versionlock; // FIXME referenced containers not in mempool mempool::mds_co::map client_lease_map; std::map> batch_ops; diff --git a/src/mds/CInode.h b/src/mds/CInode.h index 5c84c533f6bd7..23bad93ee5041 100644 --- a/src/mds/CInode.h +++ b/src/mds/CInode.h @@ -35,7 +35,7 @@ #include "CDentry.h" #include "SimpleLock.h" #include "ScatterLock.h" -#include "LocalLock.h" +#include "LocalLockC.h" #include "Capability.h" #include "SnapRealm.h" #include "Mutation.h" @@ -985,7 +985,7 @@ class CInode : public MDSCacheObject, public InodeStoreBase, public Counterget_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_wrlock_grab(static_cast(lock), mut); + return local_wrlock_grab(static_cast(lock), mut); dout(7) << "wrlock_force on " << *lock << " on " << *lock->get_parent() << dendl; @@ -1750,7 +1750,7 @@ bool Locker::wrlock_start(const MutationImpl::LockOp &op, MDRequestRef& mut) SimpleLock *lock = op.lock; if (lock->get_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_wrlock_start(static_cast(lock), mut); + return local_wrlock_start(static_cast(lock), mut); dout(10) << "wrlock_start " << *lock << " on " << *lock->get_parent() << dendl; @@ -1893,7 +1893,7 @@ bool Locker::xlock_start(SimpleLock *lock, MDRequestRef& mut) { if (lock->get_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_xlock_start(static_cast(lock), mut); + return local_xlock_start(static_cast(lock), mut); dout(7) << "xlock_start on " << *lock << " on " << *lock->get_parent() << dendl; client_t client = mut->get_client(); @@ -5194,7 +5194,7 @@ void Locker::scatter_tempsync(ScatterLock *lock, bool *need_issue) // ========================================================================== // local lock -void Locker::local_wrlock_grab(LocalLock *lock, MutationRef& mut) +void Locker::local_wrlock_grab(LocalLockC *lock, MutationRef& mut) { dout(7) << "local_wrlock_grab on " << *lock << " on " << *lock->get_parent() << dendl; @@ -5207,7 +5207,7 @@ void Locker::local_wrlock_grab(LocalLock *lock, MutationRef& mut) ceph_assert(it->is_wrlock()); } -bool Locker::local_wrlock_start(LocalLock *lock, MDRequestRef& mut) +bool Locker::local_wrlock_start(LocalLockC *lock, MDRequestRef& mut) { dout(7) << "local_wrlock_start on " << *lock << " on " << *lock->get_parent() << dendl; @@ -5227,7 +5227,7 @@ bool Locker::local_wrlock_start(LocalLock *lock, MDRequestRef& mut) void Locker::local_wrlock_finish(const MutationImpl::lock_iterator& it, MutationImpl *mut) { ceph_assert(it->is_wrlock()); - LocalLock *lock = static_cast(it->lock); + LocalLockC *lock = static_cast(it->lock); dout(7) << "local_wrlock_finish on " << *lock << " on " << *lock->get_parent() << dendl; lock->put_wrlock(); @@ -5239,7 +5239,7 @@ void Locker::local_wrlock_finish(const MutationImpl::lock_iterator& it, Mutation } } -bool Locker::local_xlock_start(LocalLock *lock, MDRequestRef& mut) +bool Locker::local_xlock_start(LocalLockC *lock, MDRequestRef& mut) { dout(7) << "local_xlock_start on " << *lock << " on " << *lock->get_parent() << dendl; @@ -5258,7 +5258,7 @@ bool Locker::local_xlock_start(LocalLock *lock, MDRequestRef& mut) void Locker::local_xlock_finish(const MutationImpl::lock_iterator& it, MutationImpl *mut) { ceph_assert(it->is_xlock()); - LocalLock *lock = static_cast(it->lock); + LocalLockC *lock = static_cast(it->lock); dout(7) << "local_xlock_finish on " << *lock << " on " << *lock->get_parent() << dendl; lock->put_xlock(); diff --git a/src/mds/Locker.h b/src/mds/Locker.h index a3d3ec6a6ec5d..e7b0688aa5477 100644 --- a/src/mds/Locker.h +++ b/src/mds/Locker.h @@ -36,7 +36,7 @@ class CDentry; class Capability; class SimpleLock; class ScatterLock; -class LocalLock; +class LocalLockC; class Locker { public: @@ -153,7 +153,7 @@ public: bool is_revoking_any_caps_from(client_t client); // local - void local_wrlock_grab(LocalLock *lock, MutationRef& mut); + void local_wrlock_grab(LocalLockC *lock, MutationRef& mut); // file void file_eval(ScatterLock *lock, bool *need_issue); @@ -224,9 +224,9 @@ protected: void _do_cap_release(client_t client, inodeno_t ino, uint64_t cap_id, ceph_seq_t mseq, ceph_seq_t seq); void caps_tick(); - bool local_wrlock_start(LocalLock *lock, MDRequestRef& mut); + bool local_wrlock_start(LocalLockC *lock, MDRequestRef& mut); void local_wrlock_finish(const MutationImpl::lock_iterator& it, MutationImpl *mut); - bool local_xlock_start(LocalLock *lock, MDRequestRef& mut); + bool local_xlock_start(LocalLockC *lock, MDRequestRef& mut); void local_xlock_finish(const MutationImpl::lock_iterator& it, MutationImpl *mut); void handle_file_lock(ScatterLock *lock, const cref_t &m); diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 630ff3d07aa0e..b2a374e8a3ae7 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -33,6 +33,7 @@ #include "include/mempool.h" #include "msg/msg_types.h" +#include "include/compat.h" #include "include/types.h" #include "include/utime.h" #include "include/CompatSet.h" diff --git a/src/test/cls_lock/test_cls_lock.cc b/src/test/cls_lock/test_cls_lock.cc index 3ecd20ccfdbc3..405befa033543 100644 --- a/src/test/cls_lock/test_cls_lock.cc +++ b/src/test/cls_lock/test_cls_lock.cc @@ -33,7 +33,7 @@ using namespace rados::cls::lock; void lock_info(IoCtx *ioctx, string& oid, string& name, map& lockers, ClsLockType *assert_type, string *assert_tag) { - ClsLockType lock_type = LOCK_NONE; + ClsLockType lock_type = ClsLockType::NONE; string tag; lockers.clear(); ASSERT_EQ(0, get_lock_info(ioctx, oid, name, &lockers, &lock_type, &tag)); @@ -69,8 +69,8 @@ TEST(ClsLock, TestMultiLocking) { ASSERT_EQ("", create_one_pool_pp(pool_name, cluster)); IoCtx ioctx; cluster.ioctx_create(pool_name.c_str(), ioctx); - ClsLockType lock_type_shared = LOCK_SHARED; - ClsLockType lock_type_exclusive = LOCK_EXCLUSIVE; + ClsLockType lock_type_shared = ClsLockType::SHARED; + ClsLockType lock_type_exclusive = ClsLockType::EXCLUSIVE; Rados cluster2; @@ -357,39 +357,39 @@ TEST(ClsLock, TestSetCookie) { string cookie = "cookie"; string new_cookie = "new cookie"; librados::ObjectWriteOperation op1; - set_cookie(&op1, name, LOCK_SHARED, cookie, tag, new_cookie); + set_cookie(&op1, name, ClsLockType::SHARED, cookie, tag, new_cookie); ASSERT_EQ(-ENOENT, ioctx.operate(oid, &op1)); librados::ObjectWriteOperation op2; - lock(&op2, name, LOCK_SHARED, cookie, tag, "", utime_t{}, 0); + lock(&op2, name, ClsLockType::SHARED, cookie, tag, "", utime_t{}, 0); ASSERT_EQ(0, ioctx.operate(oid, &op2)); librados::ObjectWriteOperation op3; - lock(&op3, name, LOCK_SHARED, "cookie 2", tag, "", utime_t{}, 0); + lock(&op3, name, ClsLockType::SHARED, "cookie 2", tag, "", utime_t{}, 0); ASSERT_EQ(0, ioctx.operate(oid, &op3)); librados::ObjectWriteOperation op4; - set_cookie(&op4, name, LOCK_SHARED, cookie, tag, cookie); + set_cookie(&op4, name, ClsLockType::SHARED, cookie, tag, cookie); ASSERT_EQ(-EBUSY, ioctx.operate(oid, &op4)); librados::ObjectWriteOperation op5; - set_cookie(&op5, name, LOCK_SHARED, cookie, "wrong tag", new_cookie); + set_cookie(&op5, name, ClsLockType::SHARED, cookie, "wrong tag", new_cookie); ASSERT_EQ(-EBUSY, ioctx.operate(oid, &op5)); librados::ObjectWriteOperation op6; - set_cookie(&op6, name, LOCK_SHARED, "wrong cookie", tag, new_cookie); + set_cookie(&op6, name, ClsLockType::SHARED, "wrong cookie", tag, new_cookie); ASSERT_EQ(-EBUSY, ioctx.operate(oid, &op6)); librados::ObjectWriteOperation op7; - set_cookie(&op7, name, LOCK_EXCLUSIVE, cookie, tag, new_cookie); + set_cookie(&op7, name, ClsLockType::EXCLUSIVE, cookie, tag, new_cookie); ASSERT_EQ(-EBUSY, ioctx.operate(oid, &op7)); librados::ObjectWriteOperation op8; - set_cookie(&op8, name, LOCK_SHARED, cookie, tag, "cookie 2"); + set_cookie(&op8, name, ClsLockType::SHARED, cookie, tag, "cookie 2"); ASSERT_EQ(-EBUSY, ioctx.operate(oid, &op8)); librados::ObjectWriteOperation op9; - set_cookie(&op9, name, LOCK_SHARED, cookie, tag, new_cookie); + set_cookie(&op9, name, ClsLockType::SHARED, cookie, tag, new_cookie); ASSERT_EQ(0, ioctx.operate(oid, &op9)); ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster)); diff --git a/src/test/librbd/managed_lock/test_mock_AcquireRequest.cc b/src/test/librbd/managed_lock/test_mock_AcquireRequest.cc index 279a8182631fa..6e42d95bb7e27 100644 --- a/src/test/librbd/managed_lock/test_mock_AcquireRequest.cc +++ b/src/test/librbd/managed_lock/test_mock_AcquireRequest.cc @@ -91,7 +91,7 @@ MATCHER_P(IsLockType, exclusive, "") { bl.share(arg); auto iter = bl.cbegin(); decode(op, iter); - return op.type == (exclusive ? LOCK_EXCLUSIVE : LOCK_SHARED); + return op.type == (exclusive ? ClsLockType::EXCLUSIVE : ClsLockType::SHARED); } } // anonymous namespace diff --git a/src/test/librbd/managed_lock/test_mock_GetLockerRequest.cc b/src/test/librbd/managed_lock/test_mock_GetLockerRequest.cc index 69e987e4d09be..1850526a7fc2a 100644 --- a/src/test/librbd/managed_lock/test_mock_GetLockerRequest.cc +++ b/src/test/librbd/managed_lock/test_mock_GetLockerRequest.cc @@ -90,7 +90,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, SuccessExclusive) { InSequence seq; expect_get_lock_info(mock_image_ctx, 0, entity_name_t::CLIENT(1), "1.2.3.4", "auto 123", util::get_watcher_lock_tag(), - LOCK_EXCLUSIVE); + ClsLockType::EXCLUSIVE); C_SaferCond ctx; Locker locker; @@ -117,7 +117,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, SuccessShared) { InSequence seq; expect_get_lock_info(mock_image_ctx, 0, entity_name_t::CLIENT(1), "1.2.3.4", "auto 123", util::get_watcher_lock_tag(), - LOCK_SHARED); + ClsLockType::SHARED); C_SaferCond ctx; Locker locker; @@ -143,7 +143,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, GetLockInfoError) { InSequence seq; expect_get_lock_info(mock_image_ctx, -EINVAL, entity_name_t::CLIENT(1), "", - "", "", LOCK_EXCLUSIVE); + "", "", ClsLockType::EXCLUSIVE); C_SaferCond ctx; Locker locker; @@ -164,7 +164,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, GetLockInfoEmpty) { InSequence seq; expect_get_lock_info(mock_image_ctx, -ENOENT, entity_name_t::CLIENT(1), "", - "", "", LOCK_EXCLUSIVE); + "", "", ClsLockType::EXCLUSIVE); C_SaferCond ctx; Locker locker; @@ -185,7 +185,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, GetLockInfoExternalTag) { InSequence seq; expect_get_lock_info(mock_image_ctx, 0, entity_name_t::CLIENT(1), "1.2.3.4", - "auto 123", "external tag", LOCK_EXCLUSIVE); + "auto 123", "external tag", ClsLockType::EXCLUSIVE); C_SaferCond ctx; Locker locker; @@ -207,7 +207,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, GetLockInfoIncompatibleShared) { InSequence seq; expect_get_lock_info(mock_image_ctx, 0, entity_name_t::CLIENT(1), "1.2.3.4", "auto 123", util::get_watcher_lock_tag(), - LOCK_SHARED); + ClsLockType::SHARED); C_SaferCond ctx; Locker locker; @@ -229,7 +229,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, GetLockInfoIncompatibleExclusive) { InSequence seq; expect_get_lock_info(mock_image_ctx, 0, entity_name_t::CLIENT(1), "1.2.3.4", "auto 123", util::get_watcher_lock_tag(), - LOCK_EXCLUSIVE); + ClsLockType::EXCLUSIVE); C_SaferCond ctx; Locker locker; @@ -251,7 +251,7 @@ TEST_F(TestMockManagedLockGetLockerRequest, GetLockInfoExternalCookie) { InSequence seq; expect_get_lock_info(mock_image_ctx, 0, entity_name_t::CLIENT(1), "1.2.3.4", "external cookie", util::get_watcher_lock_tag(), - LOCK_EXCLUSIVE); + ClsLockType::EXCLUSIVE); C_SaferCond ctx; Locker locker; diff --git a/src/test/librbd/managed_lock/test_mock_ReacquireRequest.cc b/src/test/librbd/managed_lock/test_mock_ReacquireRequest.cc index 993be5aabdcc1..e295f8fc3d962 100644 --- a/src/test/librbd/managed_lock/test_mock_ReacquireRequest.cc +++ b/src/test/librbd/managed_lock/test_mock_ReacquireRequest.cc @@ -24,7 +24,7 @@ MATCHER_P(IsLockType, exclusive, "") { bl.share(arg); auto iter = bl.cbegin(); decode(op, iter); - return op.type == (exclusive ? LOCK_EXCLUSIVE : LOCK_SHARED); + return op.type == (exclusive ? ClsLockType::EXCLUSIVE : ClsLockType::SHARED); } } // anonymous namespace diff --git a/src/test/librbd/test_ImageWatcher.cc b/src/test/librbd/test_ImageWatcher.cc index 22bf95e1e2466..209133e9ec662 100644 --- a/src/test/librbd/test_ImageWatcher.cc +++ b/src/test/librbd/test_ImageWatcher.cc @@ -339,7 +339,7 @@ TEST_F(TestImageWatcher, NotifyFlatten) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}}; @@ -373,7 +373,7 @@ TEST_F(TestImageWatcher, NotifyResize) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_RESIZE, create_response_message(0)}}; @@ -407,7 +407,7 @@ TEST_F(TestImageWatcher, NotifyRebuildObjectMap) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_REBUILD_OBJECT_MAP, create_response_message(0)}}; @@ -442,7 +442,7 @@ TEST_F(TestImageWatcher, NotifySnapCreate) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_SNAP_CREATE, create_response_message(0)}}; @@ -477,7 +477,7 @@ TEST_F(TestImageWatcher, NotifySnapCreateError) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_SNAP_CREATE, create_response_message(-EEXIST)}}; @@ -501,7 +501,7 @@ TEST_F(TestImageWatcher, NotifySnapRename) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_SNAP_RENAME, create_response_message(0)}}; @@ -523,7 +523,7 @@ TEST_F(TestImageWatcher, NotifySnapRenameError) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_SNAP_RENAME, create_response_message(-EEXIST)}}; @@ -545,7 +545,7 @@ TEST_F(TestImageWatcher, NotifySnapRemove) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_SNAP_REMOVE, create_response_message(0)}}; @@ -569,7 +569,7 @@ TEST_F(TestImageWatcher, NotifySnapProtect) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_SNAP_PROTECT, create_response_message(0)}}; @@ -593,7 +593,7 @@ TEST_F(TestImageWatcher, NotifySnapUnprotect) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_SNAP_UNPROTECT, create_response_message(0)}}; @@ -617,7 +617,7 @@ TEST_F(TestImageWatcher, NotifyRename) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_RENAME, create_response_message(0)}}; @@ -639,7 +639,7 @@ TEST_F(TestImageWatcher, NotifyAsyncTimedOut) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_FLATTEN, {}}}; @@ -659,7 +659,7 @@ TEST_F(TestImageWatcher, NotifyAsyncError) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(-EIO)}}; @@ -679,7 +679,7 @@ TEST_F(TestImageWatcher, NotifyAsyncCompleteError) { ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}}; @@ -712,7 +712,7 @@ TEST_F(TestImageWatcher, NotifyAsyncRequestTimedOut) { ictx->config.set_val("rbd_request_timed_out_seconds", "0"); ASSERT_EQ(0, register_image_watch(*ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}}; diff --git a/src/test/librbd/test_internal.cc b/src/test/librbd/test_internal.cc index ce6e939f8a83e..283fd7c559230 100644 --- a/src/test/librbd/test_internal.cc +++ b/src/test/librbd/test_internal.cc @@ -229,7 +229,7 @@ TEST_F(TestInternal, ResizeFailsToLockImage) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "manually locked")); + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "manually locked")); librbd::NoOpProgressContext no_op; ASSERT_EQ(-EROFS, ictx->operations->resize(m_image_size >> 1, true, no_op)); @@ -258,7 +258,7 @@ TEST_F(TestInternal, SnapCreateFailsToLockImage) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "manually locked")); + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "manually locked")); ASSERT_EQ(-EROFS, snap_create(*ictx, "snap1")); } @@ -289,7 +289,7 @@ TEST_F(TestInternal, SnapRollbackFailsToLockImage) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "manually locked")); + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "manually locked")); librbd::NoOpProgressContext no_op; ASSERT_EQ(-EROFS, @@ -368,7 +368,7 @@ TEST_F(TestInternal, FlattenFailsToLockImage) { } BOOST_SCOPE_EXIT_END; ASSERT_EQ(0, open_image(clone_name, &ictx2)); - ASSERT_EQ(0, lock_image(*ictx2, LOCK_EXCLUSIVE, "manually locked")); + ASSERT_EQ(0, lock_image(*ictx2, ClsLockType::EXCLUSIVE, "manually locked")); librbd::NoOpProgressContext no_op; ASSERT_EQ(-EROFS, ictx2->operations->flatten(no_op)); @@ -379,7 +379,7 @@ TEST_F(TestInternal, AioWriteRequestsLock) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "manually locked")); + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "manually locked")); std::string buffer(256, '1'); Context *ctx = new DummyContext(); @@ -405,7 +405,7 @@ TEST_F(TestInternal, AioDiscardRequestsLock) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); - ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "manually locked")); + ASSERT_EQ(0, lock_image(*ictx, ClsLockType::EXCLUSIVE, "manually locked")); Context *ctx = new DummyContext(); auto c = librbd::io::AioCompletion::create(ctx); diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc index 9af05cfdf6d5b..bc04052612585 100644 --- a/src/tools/rados/rados.cc +++ b/src/tools/rados/rados.cc @@ -1179,7 +1179,7 @@ static int do_lock_cmd(std::vector &nargs, string lock_cookie; string lock_description; int lock_duration = 0; - ClsLockType lock_type = LOCK_EXCLUSIVE; + ClsLockType lock_type = ClsLockType::EXCLUSIVE; map::const_iterator i; i = opts.find("lock-tag"); @@ -1204,9 +1204,9 @@ static int do_lock_cmd(std::vector &nargs, if (i != opts.end()) { const string& type_str = i->second; if (type_str.compare("exclusive") == 0) { - lock_type = LOCK_EXCLUSIVE; + lock_type = ClsLockType::EXCLUSIVE; } else if (type_str.compare("shared") == 0) { - lock_type = LOCK_SHARED; + lock_type = ClsLockType::SHARED; } else { cerr << "unknown lock type was specified, aborting" << std::endl; return -EINVAL; @@ -1243,7 +1243,7 @@ static int do_lock_cmd(std::vector &nargs, if (cmd.compare("info") == 0) { map lockers; - ClsLockType type = LOCK_NONE; + ClsLockType type = ClsLockType::NONE; string tag; int ret = rados::cls::lock::get_lock_info(ioctx, oid, lock_name, &lockers, &type, &tag); if (ret < 0) { @@ -1281,7 +1281,7 @@ static int do_lock_cmd(std::vector &nargs, l.set_description(lock_description); int ret; switch (lock_type) { - case LOCK_SHARED: + case ClsLockType::SHARED: ret = l.lock_shared(ioctx, oid); break; default: diff --git a/src/tools/rbd/ArgumentTypes.cc b/src/tools/rbd/ArgumentTypes.cc index 05c4f4af28baa..b9eb6f5340f9e 100644 --- a/src/tools/rbd/ArgumentTypes.cc +++ b/src/tools/rbd/ArgumentTypes.cc @@ -307,7 +307,7 @@ void add_verbose_option(boost::program_options::options_description *opt) { void add_no_error_option(boost::program_options::options_description *opt) { opt->add_options() - (NO_ERROR.c_str(), po::bool_switch(), "continue after error"); + (NO_ERR.c_str(), po::bool_switch(), "continue after error"); } void add_export_format_option(boost::program_options::options_description *opt) { diff --git a/src/tools/rbd/ArgumentTypes.h b/src/tools/rbd/ArgumentTypes.h index 793f12bbdb08a..5f500e52072c4 100644 --- a/src/tools/rbd/ArgumentTypes.h +++ b/src/tools/rbd/ArgumentTypes.h @@ -79,7 +79,7 @@ static const std::string NO_PROGRESS("no-progress"); static const std::string FORMAT("format"); static const std::string PRETTY_FORMAT("pretty-format"); static const std::string VERBOSE("verbose"); -static const std::string NO_ERROR("no-error"); +static const std::string NO_ERR("no-error"); static const std::string LIMIT("limit"); @@ -87,7 +87,7 @@ static const std::string SKIP_QUIESCE("skip-quiesce"); static const std::string IGNORE_QUIESCE_ERROR("ignore-quiesce-error"); static const std::set SWITCH_ARGUMENTS = { - WHOLE_OBJECT, NO_PROGRESS, PRETTY_FORMAT, VERBOSE, NO_ERROR, SKIP_QUIESCE, + WHOLE_OBJECT, NO_PROGRESS, PRETTY_FORMAT, VERBOSE, NO_ERR, SKIP_QUIESCE, IGNORE_QUIESCE_ERROR }; diff --git a/src/tools/rbd/action/Journal.cc b/src/tools/rbd/action/Journal.cc index 5d283420a5e8f..0379583264b17 100644 --- a/src/tools/rbd/action/Journal.cc +++ b/src/tools/rbd/action/Journal.cc @@ -1165,7 +1165,7 @@ int execute_export(const po::variables_map &vm, return r; } - r = do_export_journal(io_ctx, journal_name, path, vm[at::NO_ERROR].as(), + r = do_export_journal(io_ctx, journal_name, path, vm[at::NO_ERR].as(), vm[at::VERBOSE].as()); if (r < 0) { std::cerr << "rbd: journal export: " << cpp_strerror(r) << std::endl; @@ -1208,7 +1208,7 @@ int execute_import(const po::variables_map &vm, return r; } - r = do_import_journal(io_ctx, journal_name, path, vm[at::NO_ERROR].as(), + r = do_import_journal(io_ctx, journal_name, path, vm[at::NO_ERR].as(), vm[at::VERBOSE].as()); if (r < 0) { std::cerr << "rbd: journal import: " << cpp_strerror(r) << std::endl; -- 2.39.5