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_REMOVE_REQUEST_H
5 #define CEPH_LIBRBD_OBJECT_MAP_REMOVE_REQUEST_H
7 #include "include/buffer.h"
8 #include "common/Mutex.h"
18 namespace object_map {
20 template <typename ImageCtxT = ImageCtx>
23 static RemoveRequest *create(ImageCtxT *image_ctx, Context *on_finish) {
24 return new RemoveRequest(image_ctx, on_finish);
36 * REMOVE_OBJECT_MAP . (for every snapshot)
44 RemoveRequest(ImageCtxT *image_ctx, Context *on_finish);
46 ImageCtxT *m_image_ctx;
49 int m_error_result = 0;
50 int m_ref_counter = 0;
53 void send_remove_object_map();
54 Context *handle_remove_object_map(int *result);
57 } // namespace object_map
60 extern template class librbd::object_map::RemoveRequest<librbd::ImageCtx>;
62 #endif // CEPH_LIBRBD_OBJECT_MAP_REMOVE_REQUEST_H