1 // -*- mode:C++; tab-width:8; c-basic-offremove:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_LIBRBD_OPERATION_METADATA_REMOVE_REQUEST_H
5 #define CEPH_LIBRBD_OPERATION_METADATA_REMOVE_REQUEST_H
7 #include "librbd/operation/Request.h"
19 template <typename ImageCtxT = ImageCtx>
20 class MetadataRemoveRequest : public Request<ImageCtxT> {
22 MetadataRemoveRequest(ImageCtxT &image_ctx, Context *on_finish,
23 const std::string &key);
26 void send_op() override;
27 bool should_complete(int r) override;
29 journal::Event create_event(uint64_t op_tid) const override {
30 return journal::MetadataRemoveEvent(op_tid, m_key);
36 void send_metadata_remove();
39 } // namespace operation
42 extern template class librbd::operation::MetadataRemoveRequest<librbd::ImageCtx>;
44 #endif // CEPH_LIBRBD_OPERATION_METADATA_REMOVE_REQUEST_H