]>
git.proxmox.com Git - ceph.git/blob - ceph/src/librbd/crypto/luks/FlattenRequest.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_LIBRBD_CRYPTO_LUKS_FLATTEN_REQUEST_H
5 #define CEPH_LIBRBD_CRYPTO_LUKS_FLATTEN_REQUEST_H
7 #include "librbd/ImageCtx.h"
15 class FlattenRequest
{
17 using EncryptionFormat
= decltype(I::encryption_format
);
19 static FlattenRequest
* create(I
* image_ctx
, Context
* on_finish
) {
20 return new FlattenRequest(image_ctx
, on_finish
);
23 FlattenRequest(I
* image_ctx
, Context
* on_finish
);
36 * WRITE_HEADER (replacing magic back from RBDL to LUKS if needed)
48 ceph::bufferlist m_bl
;
51 void handle_read_header(int r
);
53 void handle_write_header(int r
);
55 void handle_flush(int r
);
63 extern template class librbd::crypto::luks::FlattenRequest
<librbd::ImageCtx
>;
65 #endif // CEPH_LIBRBD_CRYPTO_LUKS_FLATTEN_REQUEST_H