]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd: display correct mirror state when creating 62940/head
authorN Balachandran <nithya.balachandran@ibm.com>
Mon, 21 Apr 2025 11:34:08 +0000 (17:04 +0530)
committerN Balachandran <nithya.balachandran@ibm.com>
Thu, 24 Apr 2025 04:17:06 +0000 (09:47 +0530)
The mirror image state is set to MIRROR_IMAGE_STATE_CREATING
when the image is first created on the secondary, but was displayed
as "unknown" by the rbd info command. This has been fixed.

Fixes: https://tracker.ceph.com/issues/70963
Signed-off-by: N Balachandran <nithya.balachandran@ibm.com>
(cherry picked from commit f2e35646721ed3076e3da54124f8d783c456b2dc)

src/include/rbd/librbd.h
src/pybind/rbd/c_rbd.pxd
src/pybind/rbd/mock_rbd.pxi
src/pybind/rbd/rbd.pyx
src/tools/rbd/Utils.cc

index 946acfb2ae41bfd8484d88c1f8a4e9528b2fe4eb..779f85c5c61f22866530c65abed4690fa016f324 100644 (file)
@@ -186,7 +186,8 @@ typedef enum {
 typedef enum {
   RBD_MIRROR_IMAGE_DISABLING = 0,
   RBD_MIRROR_IMAGE_ENABLED = 1,
-  RBD_MIRROR_IMAGE_DISABLED = 2
+  RBD_MIRROR_IMAGE_DISABLED = 2,
+  RBD_MIRROR_IMAGE_CREATING = 3
 } rbd_mirror_image_state_t;
 
 typedef struct {
index c5b8921b85fd147396fe81e277cfc6466194efc2..f5d9096789a19701653f30e9cfeb933bebbc3017 100644 (file)
@@ -164,6 +164,7 @@ cdef extern from "rbd/librbd.h" nogil:
         _RBD_MIRROR_IMAGE_DISABLING "RBD_MIRROR_IMAGE_DISABLING"
         _RBD_MIRROR_IMAGE_ENABLED "RBD_MIRROR_IMAGE_ENABLED"
         _RBD_MIRROR_IMAGE_DISABLED "RBD_MIRROR_IMAGE_DISABLED"
+        _RBD_MIRROR_IMAGE_CREATING "RBD_MIRROR_IMAGE_CREATING"
 
     ctypedef struct rbd_mirror_image_info_t:
         char *global_id
index adb7957e532af3af5cc936d82ee00a6588ed45e8..7a8faf750bd8ee7de3142ea2f4231500e69a2eff 100644 (file)
@@ -168,6 +168,7 @@ cdef nogil:
         _RBD_MIRROR_IMAGE_DISABLING "RBD_MIRROR_IMAGE_DISABLING"
         _RBD_MIRROR_IMAGE_ENABLED "RBD_MIRROR_IMAGE_ENABLED"
         _RBD_MIRROR_IMAGE_DISABLED "RBD_MIRROR_IMAGE_DISABLED"
+        _RBD_MIRROR_IMAGE_CREATING "RBD_MIRROR_IMAGE_CREATING"
 
     ctypedef struct rbd_mirror_image_info_t:
         char *global_id
index d7c05ac58b49bef5ade9a0696ed6023213535c31..488382cdfa888a56c1457492ec7418ee913f6611 100644 (file)
@@ -97,6 +97,7 @@ RBD_MIRROR_IMAGE_MODE_SNAPSHOT = _RBD_MIRROR_IMAGE_MODE_SNAPSHOT
 RBD_MIRROR_IMAGE_DISABLING = _RBD_MIRROR_IMAGE_DISABLING
 RBD_MIRROR_IMAGE_ENABLED = _RBD_MIRROR_IMAGE_ENABLED
 RBD_MIRROR_IMAGE_DISABLED = _RBD_MIRROR_IMAGE_DISABLED
+RBD_MIRROR_IMAGE_CREATING = _RBD_MIRROR_IMAGE_CREATING
 
 MIRROR_IMAGE_STATUS_STATE_UNKNOWN = _MIRROR_IMAGE_STATUS_STATE_UNKNOWN
 MIRROR_IMAGE_STATUS_STATE_ERROR = _MIRROR_IMAGE_STATUS_STATE_ERROR
index fcafd63a4eb8617d7d90b2a8ec6ff4baf8c51648..60672447a417418698416792d7002925ac5155b9 100644 (file)
@@ -1012,6 +1012,8 @@ std::string mirror_image_state(librbd::mirror_image_state_t state) {
       return "enabled";
     case RBD_MIRROR_IMAGE_DISABLED:
       return "disabled";
+    case RBD_MIRROR_IMAGE_CREATING:
+      return "creating";
     default:
       return "unknown";
   }