]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd: display correct mirror state when creating 62898/head
authorN Balachandran <nithya.balachandran@ibm.com>
Mon, 21 Apr 2025 11:34:08 +0000 (17:04 +0530)
committerN Balachandran <nithya.balachandran@ibm.com>
Wed, 23 Apr 2025 15:15:25 +0000 (20: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>
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 c258c4e9b5412890b774bbfd98c6b1df0e380af4..b347b03df9e280bfec111facfd6ba7bc1ba055dc 100644 (file)
@@ -189,7 +189,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 0a3d4f8b05bd447daf6e19e0c6e6375558f23e59..a5a61087c9e2e7deb0cf1ae940f93c6efa0ad81b 100644 (file)
@@ -165,6 +165,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 d8bef8b5d900c51c5ca078de4605239839aa3781..2f2871b738db4becaa69eeace590cc092cf4140f 100644 (file)
@@ -169,6 +169,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 b1a04af95c650a8236e788a90f1903190f49c31a..f3e74a1634bcd91bce7811e0a191899c3964c0e3 100644 (file)
@@ -98,6 +98,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 bad7d5bdefef99a787e92a270fbd15298d544505..bcc2f507acba70e35ba75b12635c15e93805c3ba 100644 (file)
@@ -1023,6 +1023,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";
   }