pbs-tape: clippy and format string fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2023-05-17 16:47:03 +02:00
parent 82c0194efd
commit 82302ae27f
2 changed files with 32 additions and 38 deletions

View File

@ -163,9 +163,7 @@ impl BlockHeader {
let mut buffer = unsafe {
let ptr = alloc_zeroed(Layout::from_size_align(Self::SIZE, page_size).unwrap());
Box::from_raw(
std::slice::from_raw_parts_mut(ptr, Self::SIZE - 16) as *mut [u8] as *mut Self,
)
Box::from_raw(core::ptr::slice_from_raw_parts_mut(ptr, Self::SIZE - 16) as *mut Self)
};
buffer.magic = PROXMOX_TAPE_BLOCK_HEADER_MAGIC_1_0;
buffer

View File

@ -30,9 +30,9 @@ use pbs_api_types::{Lp17VolumeStatistics, LtoDriveAndMediaStatus, MamAttribute};
use crate::{
sgutils2::{
alloc_page_aligned_buffer, scsi_inquiry, scsi_mode_sense, scsi_request_sense,
scsi_cmd_mode_select6, scsi_cmd_mode_select10,
InquiryInfo, ModeBlockDescriptor, ModeParameterHeader, ScsiError, SenseInfo, SgRaw,
alloc_page_aligned_buffer, scsi_cmd_mode_select10, scsi_cmd_mode_select6, scsi_inquiry,
scsi_mode_sense, scsi_request_sense, InquiryInfo, ModeBlockDescriptor, ModeParameterHeader,
ScsiError, SenseInfo, SgRaw,
},
BlockRead, BlockReadError, BlockWrite, BlockedReader, BlockedWriter,
};
@ -189,7 +189,7 @@ impl SgTape {
sg_raw
.do_command(&cmd)
.map_err(|err| format_err!("erase failed - {}", err))?;
.map_err(|err| format_err!("erase failed - {err}"))?;
Ok(())
}
@ -268,7 +268,7 @@ impl SgTape {
sg_raw
.do_command(&cmd)
.map_err(|err| format_err!("rewind failed - {}", err))?;
.map_err(|err| format_err!("rewind failed - {err}"))?;
Ok(())
}
@ -288,7 +288,7 @@ impl SgTape {
sg_raw.set_timeout(Self::SCSI_TAPE_DEFAULT_TIMEOUT);
sg_raw
.do_command(SPACE_ONE_FILEMARK)
.map_err(|err| format_err!("locate file {} (space) failed - {}", position, err))?;
.map_err(|err| format_err!("locate file {position} (space) failed - {err}"))?;
return Ok(());
}
@ -320,13 +320,13 @@ impl SgTape {
sg_raw
.do_command(&cmd)
.map_err(|err| format_err!("locate file {} failed - {}", position, err))?;
.map_err(|err| format_err!("locate file {position} failed - {err}"))?;
// LOCATE always position at the BOT side of the filemark, so
// we need to move to other side of filemark
sg_raw
.do_command(SPACE_ONE_FILEMARK)
.map_err(|err| format_err!("locate file {} (space) failed - {}", position, err))?;
.map_err(|err| format_err!("locate file {position} (space) failed - {err}"))?;
if self.locate_offset.is_none() {
// check if we landed at correct position
@ -335,10 +335,7 @@ impl SgTape {
let offset: i64 = i64::try_from((position as i128) - (current_file as i128))
.map_err(|err| {
format_err!(
"locate_file: offset between {} and {} invalid: {}",
position,
current_file,
err
"locate_file: offset between {position} and {current_file} invalid: {err}",
)
})?;
self.locate_offset = Some(offset);
@ -385,7 +382,7 @@ impl SgTape {
Ok(page)
})
.map_err(|err: Error| format_err!("decode position page failed - {}", err))?;
.map_err(|err: Error| format_err!("decode position page failed - {err}"))?;
if page.partition_number != 0 {
bail!("detecthed partitioned tape - not supported");
@ -412,7 +409,7 @@ impl SgTape {
Ok(_) => {
self.space(1, true) // move back to end
.map_err(|err| {
format_err!("check_filemark failed (space forward) - {}", err)
format_err!("check_filemark failed (space forward) - {err}")
})?;
Ok(false)
}
@ -424,16 +421,11 @@ impl SgTape {
// Filemark detected - good
self.space(1, false) // move to EOT side of filemark
.map_err(|err| {
format_err!(
"check_filemark failed (move to EOT side of filemark) - {}",
err
)
format_err!("check_filemark failed (move to EOT side of filemark) - {err}")
})?;
Ok(true)
}
Err(err) => {
bail!("check_filemark failed - {:?}", err);
}
Err(err) => bail!("check_filemark failed - {err:?}"),
}
}
@ -445,7 +437,7 @@ impl SgTape {
sg_raw
.do_command(&cmd)
.map_err(|err| format_err!("move to EOD failed - {}", err))?;
.map_err(|err| format_err!("move to EOD failed - {err}"))?;
if write_missing_eof && !self.check_filemark()? {
self.write_filemarks(1, false)?;
@ -491,12 +483,12 @@ impl SgTape {
pub fn space_filemarks(&mut self, count: isize) -> Result<(), Error> {
self.space(count, false)
.map_err(|err| format_err!("space filemarks failed - {}", err))
.map_err(|err| format_err!("space filemarks failed - {err}"))
}
pub fn space_blocks(&mut self, count: isize) -> Result<(), Error> {
self.space(count, true)
.map_err(|err| format_err!("space blocks failed - {}", err))
.map_err(|err| format_err!("space blocks failed - {err}"))
}
pub fn eject(&mut self) -> Result<(), Error> {
@ -507,7 +499,7 @@ impl SgTape {
sg_raw
.do_command(&cmd)
.map_err(|err| format_err!("eject failed - {}", err))?;
.map_err(|err| format_err!("eject failed - {err}"))?;
Ok(())
}
@ -520,18 +512,18 @@ impl SgTape {
sg_raw
.do_command(&cmd)
.map_err(|err| format_err!("load media failed - {}", err))?;
.map_err(|err| format_err!("load media failed - {err}"))?;
Ok(())
}
pub fn write_filemarks(&mut self, count: usize, immediate: bool) -> Result<(), std::io::Error> {
if count > 255 {
proxmox_lang::io_bail!("write_filemarks failed: got strange count '{}'", count);
proxmox_lang::io_bail!("write_filemarks failed: got strange count '{count}'");
}
let mut sg_raw = SgRaw::new(&mut self.file, 16).map_err(|err| {
proxmox_lang::io_format_err!("write_filemarks failed (alloc) - {}", err)
proxmox_lang::io_format_err!("write_filemarks failed (alloc) - {err}")
})?;
sg_raw.set_timeout(Self::SCSI_TAPE_DEFAULT_TIMEOUT);
@ -552,7 +544,7 @@ impl SgTape {
ascq: 2,
})) => { /* LEOM - ignore */ }
Err(err) => {
proxmox_lang::io_bail!("write filemark failed - {}", err);
proxmox_lang::io_bail!("write filemark failed - {err}");
}
}
@ -574,7 +566,7 @@ impl SgTape {
match sg_raw.do_command(&cmd) {
Ok(_) => Ok(()),
Err(err) => {
bail!("test_unit_ready failed - {}", err);
bail!("test_unit_ready failed - {err}");
}
}
}
@ -651,7 +643,7 @@ impl SgTape {
Ok(true) // LEOM
}
Err(err) => {
proxmox_lang::io_bail!("write failed - {}", err);
proxmox_lang::io_bail!("write failed - {err}");
}
}
}
@ -781,7 +773,9 @@ impl SgTape {
sg_raw
.do_out_command(&cmd, &buffer[..data.len()])
.map_err(|err| format_err!("set drive options (mode select(10)) failed - {}", err))?;
.map_err(|err| {
format_err!("set drive options (mode select(10)) failed - {err}")
})?;
}
ModeParameterHeader::Short(head) => {
let mut data = Vec::new();
@ -802,7 +796,9 @@ impl SgTape {
sg_raw
.do_out_command(&cmd, &buffer[..data.len()])
.map_err(|err| format_err!("set drive options (mode select(6)) failed - {err}"))?;
.map_err(|err| {
format_err!("set drive options (mode select(6)) failed - {err}")
})?;
}
}
@ -837,7 +833,7 @@ impl SgTape {
Ok((head, block_descriptor, page))
})
.map_err(|err| format_err!("read_medium_configuration failed - {}", err))
.map_err(|err| format_err!("read_medium_configuration failed - {err}"))
}
fn read_compression_page(
@ -868,7 +864,7 @@ impl SgTape {
Ok((head, block_descriptor, page))
})
.map_err(|err| format_err!("read_compression_page failed: {}", err))
.map_err(|err| format_err!("read_compression_page failed: {err}"))
}
/// Read drive options/status