From 0088640173f3e08cfbbf83bc4bd86d3c54c36682 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Thu, 11 Jan 2018 10:55:26 -0500 Subject: [PATCH] librbd: ensure enums are prefixed w/ RBD_ to avoid collisions Signed-off-by: Jason Dillaman --- src/include/rbd/librbd.h | 12 ++++++------ src/pybind/rbd/rbd.pyx | 22 ++++++++++++++-------- src/test/pybind/test_rbd.py | 2 +- src/tools/rbd/action/Group.cc | 4 ++-- src/tools/rbd/action/Snap.cc | 2 +- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/include/rbd/librbd.h b/src/include/rbd/librbd.h index aa0490a05d8..9ab4186e84a 100644 --- a/src/include/rbd/librbd.h +++ b/src/include/rbd/librbd.h @@ -150,8 +150,8 @@ typedef struct { } rbd_mirror_image_status_t; typedef enum { - GROUP_IMAGE_STATE_ATTACHED, - GROUP_IMAGE_STATE_INCOMPLETE + RBD_GROUP_IMAGE_STATE_ATTACHED, + RBD_GROUP_IMAGE_STATE_INCOMPLETE } rbd_group_image_state_t; typedef struct { @@ -170,8 +170,8 @@ typedef struct { } rbd_group_spec_t; typedef enum { - GROUP_SNAP_STATE_INCOMPLETE, - GROUP_SNAP_STATE_COMPLETE + RBD_GROUP_SNAP_STATE_INCOMPLETE, + RBD_GROUP_SNAP_STATE_COMPLETE } rbd_group_snap_state_t; typedef struct { @@ -180,8 +180,8 @@ typedef struct { } rbd_group_snap_spec_t; typedef enum { - SNAP_NAMESPACE_TYPE_USER = 0, - SNAP_NAMESPACE_TYPE_GROUP = 1 + RBD_SNAP_NAMESPACE_TYPE_USER = 0, + RBD_SNAP_NAMESPACE_TYPE_GROUP = 1 } rbd_snap_namespace_type_t; typedef struct { diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx index 5c5af1e826e..a2359e4508a 100644 --- a/src/pybind/rbd/rbd.pyx +++ b/src/pybind/rbd/rbd.pyx @@ -145,8 +145,8 @@ cdef extern from "rbd/librbd.h" nogil: bint up ctypedef enum rbd_snap_namespace_type_t: - _SNAP_NAMESPACE_TYPE_USER "SNAP_NAMESPACE_TYPE_USER" - _SNAP_NAMESPACE_TYPE_GROUP "SNAP_NAMESPACE_TYPE_GROUP" + _RBD_SNAP_NAMESPACE_TYPE_USER "RBD_SNAP_NAMESPACE_TYPE_USER" + _RBD_SNAP_NAMESPACE_TYPE_GROUP "RBD_SNAP_NAMESPACE_TYPE_GROUP" ctypedef enum rbd_lock_mode_t: _RBD_LOCK_MODE_EXCLUSIVE "RBD_LOCK_MODE_EXCLUSIVE" @@ -173,16 +173,16 @@ cdef extern from "rbd/librbd.h" nogil: uint64_t pool ctypedef enum rbd_group_image_state_t: - _GROUP_IMAGE_STATE_ATTACHED "GROUP_IMAGE_STATE_ATTACHED" - _GROUP_IMAGE_STATE_INCOMPLETE "GROUP_IMAGE_STATE_INCOMPLETE" + _RBD_GROUP_IMAGE_STATE_ATTACHED "RBD_GROUP_IMAGE_STATE_ATTACHED" + _RBD_GROUP_IMAGE_STATE_INCOMPLETE "RBD_GROUP_IMAGE_STATE_INCOMPLETE" ctypedef struct rbd_group_image_status_t: rbd_group_image_spec_t spec rbd_group_image_state_t state ctypedef enum rbd_group_snap_state_t: - _GROUP_SNAP_STATE_INCOMPLETE "GROUP_SNAP_STATE_INCOMPLETE" - _GROUP_SNAP_STATE_COMPLETE "GROUP_SNAP_STATE_COMPLETE" + _RBD_GROUP_SNAP_STATE_INCOMPLETE "RBD_GROUP_SNAP_STATE_INCOMPLETE" + _RBD_GROUP_SNAP_STATE_COMPLETE "RBD_GROUP_SNAP_STATE_COMPLETE" ctypedef struct rbd_group_snap_spec_t: char *name @@ -474,8 +474,14 @@ RBD_IMAGE_OPTION_STRIPE_UNIT = _RBD_IMAGE_OPTION_STRIPE_UNIT RBD_IMAGE_OPTION_STRIPE_COUNT = _RBD_IMAGE_OPTION_STRIPE_COUNT RBD_IMAGE_OPTION_DATA_POOL = _RBD_IMAGE_OPTION_DATA_POOL -SNAP_NAMESPACE_TYPE_USER = _SNAP_NAMESPACE_TYPE_USER -SNAP_NAMESPACE_TYPE_GROUP = _SNAP_NAMESPACE_TYPE_GROUP +RBD_SNAP_NAMESPACE_TYPE_USER = _RBD_SNAP_NAMESPACE_TYPE_USER +RBD_SNAP_NAMESPACE_TYPE_GROUP = _RBD_SNAP_NAMESPACE_TYPE_GROUP + +RBD_GROUP_IMAGE_STATE_ATTACHED = _RBD_GROUP_IMAGE_STATE_ATTACHED +RBD_GROUP_IMAGE_STATE_INCOMPLETE = _RBD_GROUP_IMAGE_STATE_INCOMPLETE + +RBD_GROUP_SNAP_STATE_INCOMPLETE = _RBD_GROUP_SNAP_STATE_INCOMPLETE +RBD_GROUP_SNAP_STATE_COMPLETE = _RBD_GROUP_SNAP_STATE_COMPLETE class Error(Exception): pass diff --git a/src/test/pybind/test_rbd.py b/src/test/pybind/test_rbd.py index 93ff2855ada..9b89327fd6b 100644 --- a/src/test/pybind/test_rbd.py +++ b/src/test/pybind/test_rbd.py @@ -1756,7 +1756,7 @@ class TestGroups(object): eq([snap_name], [snap['name'] for snap in self.group.list_snaps()]) for snap in self.image.list_snaps(): - eq(rbd.SNAP_NAMESPACE_TYPE_GROUP, + eq(rbd.RBD_SNAP_NAMESPACE_TYPE_GROUP, self.image.snap_get_namespace_type(snap['id'])) info = self.image.snap_get_group_namespace(snap['id']) diff --git a/src/tools/rbd/action/Group.cc b/src/tools/rbd/action/Group.cc index 968e317e4d9..36270deb24c 100644 --- a/src/tools/rbd/action/Group.cc +++ b/src/tools/rbd/action/Group.cc @@ -295,7 +295,7 @@ int execute_list_images(const po::variables_map &vm) { std::string image_name = image.name; int state = image.state; std::string state_string; - if (GROUP_IMAGE_STATE_INCOMPLETE == state) { + if (RBD_GROUP_IMAGE_STATE_INCOMPLETE == state) { state_string = "incomplete"; } @@ -441,7 +441,7 @@ int execute_group_snap_list(const po::variables_map &vm) { std::string snap_name = i.name; int state = i.state; std::string state_string; - if (GROUP_SNAP_STATE_INCOMPLETE == state) { + if (RBD_GROUP_SNAP_STATE_INCOMPLETE == state) { state_string = "incomplete"; } else { state_string = "ok"; diff --git a/src/tools/rbd/action/Snap.cc b/src/tools/rbd/action/Snap.cc index b5b869fdee4..192ed4a5ed5 100644 --- a/src/tools/rbd/action/Snap.cc +++ b/src/tools/rbd/action/Snap.cc @@ -30,7 +30,7 @@ static bool is_not_user_snap_namespace(librbd::Image* image, if (r < 0) { return false; } - return namespace_type != SNAP_NAMESPACE_TYPE_USER; + return namespace_type != RBD_SNAP_NAMESPACE_TYPE_USER; } int do_list_snaps(librbd::Image& image, Formatter *f, bool all_snaps, librados::Rados& rados) -- 2.39.5