]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/rbd/mock_rbd.pxi: add missing group related structs and APIs
authorRamana Raja <rraja@redhat.com>
Thu, 24 Apr 2025 15:22:32 +0000 (11:22 -0400)
committerPrasanna Kumar Kalever <prasanna.kalever@redhat.com>
Fri, 25 Apr 2025 07:16:49 +0000 (12:46 +0530)
Signed-off-by: Ramana Raja <rraja@redhat.com>
src/pybind/rbd/mock_rbd.pxi

index e0c3f7b9da24a5fb274c51f00634f5f2b8431160..d504a784a424802edefce719fd786a7535c665e7 100644 (file)
@@ -116,6 +116,10 @@ cdef nogil:
         char *name
         int64_t pool
 
+    ctypedef struct rbd_group_spec_t:
+        char *id
+        char *name
+
     ctypedef struct rbd_image_spec_t:
         char *id
         char *name
@@ -198,6 +202,18 @@ cdef nogil:
         uint32_t site_statuses_count
         rbd_mirror_image_site_status_t *site_statuses
 
+    ctypedef enum rbd_mirror_group_state_t:
+        _RBD_MIRROR_GROUP_DISABLING "RBD_MIRROR_GROUP_DISABLING"
+        _RBD_MIRROR_GROUP_ENABLING "RBD_MIRROR_GROUP_ENABLING"
+        _RBD_MIRROR_GROUP_ENABLED "RBD_MIRROR_GROUP_ENABLED"
+        _RBD_MIRROR_GROUP_DISABLED "RBD_MIRROR_GROUP_DISABLED"
+
+    ctypedef struct rbd_mirror_group_info_t:
+        char *global_id
+        rbd_mirror_image_mode_t mirror_image_mode
+        rbd_mirror_group_state_t state
+        bint primary
+
     ctypedef enum rbd_lock_mode_t:
         _RBD_LOCK_MODE_EXCLUSIVE "RBD_LOCK_MODE_EXCLUSIVE"
         _RBD_LOCK_MODE_SHARED "RBD_LOCK_MODE_SHARED"
@@ -235,6 +251,7 @@ cdef nogil:
 
     ctypedef enum rbd_group_snap_namespace_type_t:
         _RBD_GROUP_SNAP_NAMESPACE_TYPE_USER "RBD_GROUP_SNAP_NAMESPACE_TYPE_USER"
+        _RBD_GROUP_SNAP_NAMESPACE_TYPE_MIRROR "RBD_GROUP_SNAP_NAMESPACE_TYPE_MIRROR"
 
     ctypedef struct rbd_group_image_snap_info_t:
         char *image_name
@@ -250,6 +267,13 @@ cdef nogil:
         size_t image_snaps_count
         rbd_group_image_snap_info_t *image_snaps
 
+    ctypedef struct rbd_group_snap_mirror_namespace_t:
+        rbd_snap_mirror_state_t state;
+        size_t mirror_peer_uuids_count;
+        char* mirror_peer_uuids;
+        char* primary_mirror_uuid;
+        char* primary_snap_id;
+
     ctypedef enum rbd_image_migration_state_t:
         _RBD_IMAGE_MIGRATION_STATE_UNKNOWN "RBD_IMAGE_MIGRATION_STATE_UNKNOWN"
         _RBD_IMAGE_MIGRATION_STATE_ERROR "RBD_IMAGE_MIGRATION_STATE_ERROR"
@@ -529,6 +553,40 @@ cdef nogil:
                                             rbd_mirror_image_info_t *info_entries,
                                             size_t num_entries):
         pass
+    int rbd_mirror_group_create_snapshot(rados_ioctx_t gp_ioctx,
+                                         const char *gp_name, uint32_t flags,
+                                         char *snap_id,
+                                         size_t *max_snap_id_len):
+        pass
+    int rbd_aio_mirror_group_create_snapshot(rados_ioctx_t gp_ioctx,
+                                             const char *gp_name,
+                                             uint32_t flags, char *snap_id,
+                                             size_t *max_snap_id_len,
+                                             rbd_completion_t c):
+        pass
+    int rbd_mirror_group_get_info(rados_ioctx_t gp_ioctx, const char *gp_name,
+                                  rbd_mirror_group_info_t *mirror_gp_info,
+                                  size_t info_size):
+        pass
+    void rbd_mirror_group_get_info_cleanup(
+        rbd_mirror_group_info_t *mirror_gp_info):
+        pass
+    int rbd_aio_mirror_group_get_info(rados_ioctx_t gp_ioctx,
+                                      const char *gp_name,
+                                      rbd_mirror_group_info_t *mirror_gp_info,
+                                      size_t info_size, rbd_completion_t c):
+        pass
+    int rbd_mirror_group_info_list(rados_ioctx_t gp_ioctx,
+                                   rbd_mirror_image_mode_t *mode_filter,
+                                   const char *start_id, size_t max,
+                                   char **group_ids,
+                                   rbd_mirror_group_info_t *info_entries,
+                                   size_t *num_entries):
+        pass
+    void rbd_mirror_group_info_list_cleanup(
+        char **group_ids, rbd_mirror_group_info_t *info_entries,
+        size_t num_entries):
+        pass
 
     int rbd_pool_metadata_get(rados_ioctx_t io_ctx, const char *key,
                               char *value, size_t *val_len):
@@ -885,9 +943,15 @@ cdef nogil:
         pass
     int rbd_group_list(rados_ioctx_t p, char *names, size_t *size):
         pass
+    int rbd_group_list2(rados_ioctx_t p, rbd_group_spec_t *groups,
+                        size_t *size):
+        pass
     int rbd_group_get_id(rados_ioctx_t p, const char *group_name,
                          char *group_id, size_t *size):
         pass
+    int rbd_group_get_name(rados_ioctx_t p, const char *group_id,
+                           char *group_name, size_t *size):
+        pass
     int rbd_group_rename(rados_ioctx_t p, const char *src, const char *dest):
         pass
     void rbd_group_info_cleanup(rbd_group_info_t *group_info,
@@ -908,6 +972,11 @@ cdef nogil:
     void rbd_group_image_list_cleanup(rbd_group_image_info_t *images,
                                       size_t group_image_info_size, size_t len):
         pass
+    int rbd_group_spec_list_cleanup(rbd_group_spec_t *groups,
+                                    size_t group_spec_size,
+                                    size_t num_groups):
+        pass
+
     int rbd_group_snap_create2(rados_ioctx_t group_p, const char *group_name,
                                const char *snap_name, uint32_t flags):
         pass