]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd: display correct mirror state when creating 62939/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:15:52 +0000 (09:45 +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 3a58a46064a36832cb017dd0fda105af8a39fc7e..027bb28f8afcbf10885ab4558faacec3b3a46219 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 9624cb4ce051a36f5aea09deae057a8f5eb62e58..35c53246d47b0d7a1fb96676ed7971830c7aa133 100644 (file)
@@ -159,6 +159,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 04a056fcc6477dd2c7323748899b1af9237d2822..a98e2d12f047872d6bd047b6a4761c1cc7611375 100644 (file)
@@ -159,6 +159,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 10464821b633a0dcabb905a8e72843ff621ce5d6..995a2d6925d7f98551133b400854158c55c5a89a 100644 (file)
@@ -96,6 +96,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";
   }