1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_LIBRBD_OBJECT_MAP_CREATE_REQUEST_H
5 #define CEPH_LIBRBD_OBJECT_MAP_CREATE_REQUEST_H
7 #include "include/buffer.h"
8 #include "common/Mutex.h"
18 namespace object_map {
20 template <typename ImageCtxT = ImageCtx>
23 static CreateRequest *create(ImageCtxT *image_ctx, Context *on_finish) {
24 return new CreateRequest(image_ctx, on_finish);
36 * OBJECT_MAP_RESIZE . (for every snapshot)
44 CreateRequest(ImageCtxT *image_ctx, Context *on_finish);
46 ImageCtxT *m_image_ctx;
49 std::vector<uint64_t> m_snap_ids;
51 void send_object_map_resize();
52 Context *handle_object_map_resize(int *result);
55 } // namespace object_map
58 extern template class librbd::object_map::CreateRequest<librbd::ImageCtx>;
60 #endif // CEPH_LIBRBD_OBJECT_MAP_CREATE_REQUEST_H