]>
git.proxmox.com Git - ceph.git/blob - ceph/src/tools/rbd_mirror/image_map/LoadRequest.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_RBD_MIRROR_IMAGE_MAP_LOAD_REQUEST_H
5 #define CEPH_RBD_MIRROR_IMAGE_MAP_LOAD_REQUEST_H
7 #include "cls/rbd/cls_rbd_types.h"
8 #include "include/rados/librados.hpp"
12 namespace librbd
{ class ImageCtx
; }
18 template<typename ImageCtxT
= librbd::ImageCtx
>
21 static LoadRequest
*create(librados::IoCtx
&ioctx
,
22 std::map
<std::string
, cls::rbd::MirrorImageMap
> *image_mapping
,
24 return new LoadRequest(ioctx
, image_mapping
, on_finish
);
36 * IMAGE_MAP_LIST. . . . . . .
49 LoadRequest(librados::IoCtx
&ioctx
,
50 std::map
<std::string
, cls::rbd::MirrorImageMap
> *image_mapping
,
53 librados::IoCtx
&m_ioctx
;
54 std::map
<std::string
, cls::rbd::MirrorImageMap
> *m_image_mapping
;
57 std::set
<std::string
> m_global_image_ids
;
60 std::string m_start_after
;
62 void image_map_list();
63 void handle_image_map_list(int r
);
65 void mirror_image_list();
66 void handle_mirror_image_list(int r
);
68 void cleanup_image_map();
73 } // namespace image_map
77 #endif // CEPH_RBD_MIRROR_IMAGE_MAP_LOAD_REQUEST_H