From 1a70a6afca0e234c8861a5084eceeec5c870660b Mon Sep 17 00:00:00 2001 From: Artsiom Koltun Date: Wed, 13 Dec 2023 13:19:41 +0100 Subject: [PATCH] fix(backend): add ability to set non-default tweak mode Signed-off-by: Artsiom Koltun --- pkg/middleend/encryption.go | 1 + pkg/middleend/middleend.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/pkg/middleend/encryption.go b/pkg/middleend/encryption.go index 403a506f..22f9d48e 100644 --- a/pkg/middleend/encryption.go +++ b/pkg/middleend/encryption.go @@ -319,6 +319,7 @@ func (s *Server) getAccelCryptoKeyCreateParams(volume *pb.EncryptedVolume) spdk. params.Key = hex.EncodeToString(volume.Key[:keyHalf]) params.Key2 = hex.EncodeToString(volume.Key[keyHalf:]) params.Name = path.Base(volume.Name) + params.TweakMode = s.tweakMode return params } diff --git a/pkg/middleend/middleend.go b/pkg/middleend/middleend.go index 0434ae73..e46b2d81 100644 --- a/pkg/middleend/middleend.go +++ b/pkg/middleend/middleend.go @@ -28,12 +28,19 @@ type Server struct { rpc spdk.JSONRPC store gokv.Store volumes VolumeParameters + tweakMode string Pagination map[string]int } // NewServer creates initialized instance of MiddleEnd server communicating // with provided jsonRPC func NewServer(jsonRPC spdk.JSONRPC, store gokv.Store) *Server { + return NewCustomizedServer(jsonRPC, store, spdk.TweakModeSimpleLba) +} + +// NewCustomizedServer creates initialized instance of MiddleEnd server communicating +// with provided jsonRPC, store and non standard tweak mode +func NewCustomizedServer(jsonRPC spdk.JSONRPC, store gokv.Store, tweakMode string) *Server { if jsonRPC == nil { log.Panic("nil for JSONRPC is not allowed") } @@ -47,6 +54,7 @@ func NewServer(jsonRPC spdk.JSONRPC, store gokv.Store) *Server { qosVolumes: make(map[string]*pb.QosVolume), encVolumes: make(map[string]*pb.EncryptedVolume), }, + tweakMode: tweakMode, Pagination: make(map[string]int), } }