From 84737fb33fe40ec924bc3826b4a4bcbe1b728be2 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 31 May 2021 10:29:31 +0200 Subject: [PATCH] lto/sg_tape/encryption: remove non lto-4 supported byte from the SspDataEncryptionCapabilityPage it seems we do not need it, since the EXTDECC flag is only used for determining if the drive is capable to be configured via ADI (Automation/Drive Interface) which we do not use at all. this makes the call work with LTO-4 again Signed-off-by: Dominik Csapak --- src/tape/drive/lto/sg_tape/encryption.rs | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/tape/drive/lto/sg_tape/encryption.rs b/src/tape/drive/lto/sg_tape/encryption.rs index 7b687f2c..5ce571e4 100644 --- a/src/tape/drive/lto/sg_tape/encryption.rs +++ b/src/tape/drive/lto/sg_tape/encryption.rs @@ -195,8 +195,7 @@ struct DataEncryptionStatus { struct SspDataEncryptionCapabilityPage { page_code: u16, page_len: u16, - extdecc_cfgp_byte: u8, - reserved: [u8; 15], + reserved: [u8; 16], } #[derive(Endian)] @@ -222,17 +221,7 @@ fn decode_spin_data_encryption_caps(data: &[u8]) -> Result { proxmox::try_block!({ let mut reader = &data[..]; - let page: SspDataEncryptionCapabilityPage = unsafe { reader.read_be_value()? }; - - let extdecc = (page.extdecc_cfgp_byte & 0b00001100) >> 2; - if extdecc != 2 { - bail!("not external data encryption control capable"); - } - - let cfg_p = page.extdecc_cfgp_byte & 0b00000011; - if cfg_p != 1 { - bail!("not allow to change logical block encryption parameters"); - } + let _page: SspDataEncryptionCapabilityPage = unsafe { reader.read_be_value()? }; let mut aes_cgm_index = None;