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_IMAGE_SET_FLAGS_REQUEST_H
5 #define CEPH_LIBRBD_IMAGE_SET_FLAGS_REQUEST_H
7 #include "include/buffer.h"
8 #include "common/Mutex.h"
20 template <typename ImageCtxT = ImageCtx>
21 class SetFlagsRequest {
23 static SetFlagsRequest *create(ImageCtxT *image_ctx, uint64_t flags,
24 uint64_t mask, Context *on_finish) {
25 return new SetFlagsRequest(image_ctx, flags, mask, on_finish);
37 * SET_FLAGS . (for every snapshot)
45 SetFlagsRequest(ImageCtxT *image_ctx, uint64_t flags, uint64_t mask,
48 ImageCtxT *m_image_ctx;
53 void send_set_flags();
54 Context *handle_set_flags(int *result);
60 extern template class librbd::image::SetFlagsRequest<librbd::ImageCtx>;
62 #endif // CEPH_LIBRBD_IMAGE_SET_FLAGS_REQUEST_H