tools/sgutils2: improve error messages

include the expected and unexpected sizes in the error message,
so that it's easier to debug in case of an error

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2021-04-26 15:20:25 +02:00 committed by Dietmar Maurer
parent a862835be2
commit 6ee69fccd3

View File

@ -759,18 +759,21 @@ pub fn scsi_mode_sense<F: AsRawFd, P: Endian>(
let head: ModeParameterHeader = unsafe { reader.read_be_value()? };
if (head.mode_data_len as usize + 2) != data.len() {
bail!("wrong mode_data_len");
let len = head.mode_data_len;
bail!("wrong mode_data_len: {}, expected {}", len, data.len() - 2);
}
if disable_block_descriptor && head.block_descriptior_len != 0 {
bail!("wrong block_descriptior_len");
let len = head.block_descriptior_len;
bail!("wrong block_descriptior_len: {}, expected 0", len);
}
let mut block_descriptor: Option<ModeBlockDescriptor> = None;
if !disable_block_descriptor {
if head.block_descriptior_len != 8 {
bail!("wrong block_descriptior_len");
let len = head.block_descriptior_len;
bail!("wrong block_descriptior_len: {}, expected 8", len);
}
block_descriptor = Some(unsafe { reader.read_be_value()? });