]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/librbd/crypto/luks/EncryptionFormat.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / librbd / crypto / luks / EncryptionFormat.h
diff --git a/ceph/src/librbd/crypto/luks/EncryptionFormat.h b/ceph/src/librbd/crypto/luks/EncryptionFormat.h
deleted file mode 100644 (file)
index 8c45cf9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#ifndef CEPH_LIBRBD_CRYPTO_LUKS_ENCRYPTION_FORMAT_H
-#define CEPH_LIBRBD_CRYPTO_LUKS_ENCRYPTION_FORMAT_H
-
-#include "include/rbd/librbd.hpp"
-#include "librbd/crypto/EncryptionFormat.h"
-
-namespace librbd {
-
-struct ImageCtx;
-
-namespace crypto {
-namespace luks {
-
-template <typename ImageCtxT>
-class EncryptionFormat : public crypto::EncryptionFormat<ImageCtxT> {
-
-public:
-    EncryptionFormat(encryption_algorithm_t alg, std::string&& passphrase);
-    ~EncryptionFormat();
-
-    void format(ImageCtxT* ictx, Context* on_finish) override;
-    void load(ImageCtxT* ictx, Context* on_finish) override;
-
-    ceph::ref_t<CryptoInterface> get_crypto() override {
-      return m_crypto;
-    }
-
-private:
-    virtual encryption_format_t get_format() = 0;
-
-    encryption_algorithm_t m_alg;
-    std::string m_passphrase;
-    ceph::ref_t<CryptoInterface> m_crypto;
-};
-
-template <typename ImageCtxT>
-class LUKS1EncryptionFormat : public EncryptionFormat<ImageCtxT> {
-    using EncryptionFormat<ImageCtxT>::EncryptionFormat;
-
-    encryption_format_t get_format() override {
-      return RBD_ENCRYPTION_FORMAT_LUKS1;
-    }
-};
-
-template <typename ImageCtxT>
-class LUKS2EncryptionFormat : public EncryptionFormat<ImageCtxT> {
-    using EncryptionFormat<ImageCtxT>::EncryptionFormat;
-
-    encryption_format_t get_format() override {
-      return RBD_ENCRYPTION_FORMAT_LUKS2;
-    }
-};
-
-} // namespace luks
-} // namespace crypto
-} // namespace librbd
-
-extern template class librbd::crypto::luks::EncryptionFormat<librbd::ImageCtx>;
-extern template class librbd::crypto::luks::LUKS1EncryptionFormat<
-        librbd::ImageCtx>;
-extern template class librbd::crypto::luks::LUKS2EncryptionFormat<
-        librbd::ImageCtx>;
-
-#endif // CEPH_LIBRBD_CRYPTO_LUKS_ENCRYPTION_FORMAT_H