[pbs-devel] [PATCH proxmox-backup 03/12] tape/drive: clippy fixes
Dominik Csapak
d.csapak at proxmox.com
Tue Apr 6 08:27:38 CEST 2021
fixes:
* manual implementation of an assign operation
* using clone on a copy type
* if chain rewritten with match on Ordering
* put part of complex type in type definition
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
src/tape/drive/linux_tape.rs | 2 +-
src/tape/drive/mam.rs | 12 +++++++-----
src/tape/drive/mod.rs | 4 +++-
src/tape/drive/virtual_tape.rs | 2 +-
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/tape/drive/linux_tape.rs b/src/tape/drive/linux_tape.rs
index f8949196..7cb2c61b 100644
--- a/src/tape/drive/linux_tape.rs
+++ b/src/tape/drive/linux_tape.rs
@@ -618,7 +618,7 @@ impl TapeDriver for LinuxTapeHandle {
let mut tape_key = [0u8; 32];
- let uuid_bytes: [u8; 16] = uuid.as_bytes().clone();
+ let uuid_bytes: [u8; 16] = *uuid.as_bytes();
openssl::pkcs5::pbkdf2_hmac(
&item.key,
diff --git a/src/tape/drive/mam.rs b/src/tape/drive/mam.rs
index cbb377d3..ef47a3d4 100644
--- a/src/tape/drive/mam.rs
+++ b/src/tape/drive/mam.rs
@@ -132,11 +132,13 @@ fn decode_mam_attributes(data: &[u8]) -> Result<Vec<MamAttribute>, Error> {
let expected_len = data_len as usize;
- if reader.len() < expected_len {
- bail!("read_mam_attributes: got unexpected data len ({} != {})", reader.len(), expected_len);
- } else if reader.len() > expected_len {
- // Note: Quantum hh7 returns the allocation_length instead of real data_len
- reader = &data[4..expected_len+4];
+ match reader.len().cmp(&expected_len) {
+ std::cmp::Ordering::Less => bail!("read_mam_attributes: got unexpected data len ({} != {})", reader.len(), expected_len),
+ std::cmp::Ordering::Greater => {
+ // Note: Quantum hh7 returns the allocation_length instead of real data_len
+ reader = &data[4..expected_len+4];
+ }
+ std::cmp::Ordering::Equal => {}, // expected
}
let mut list = Vec::new();
diff --git a/src/tape/drive/mod.rs b/src/tape/drive/mod.rs
index 5509728c..4d1151ef 100644
--- a/src/tape/drive/mod.rs
+++ b/src/tape/drive/mod.rs
@@ -244,6 +244,8 @@ pub trait TapeDriver {
}
}
+type DriveHandleAndName = (Box<dyn MediaChange>, String);
+
/// Get the media changer (MediaChange + name) associated with a tape drive.
///
/// Returns Ok(None) if the drive has no associated changer device.
@@ -254,7 +256,7 @@ pub trait TapeDriver {
pub fn media_changer(
config: &SectionConfigData,
drive: &str,
-) -> Result<Option<(Box<dyn MediaChange>, String)>, Error> {
+) -> Result<Option<DriveHandleAndName>, Error> {
match config.sections.get(drive) {
Some((section_type_name, config)) => {
diff --git a/src/tape/drive/virtual_tape.rs b/src/tape/drive/virtual_tape.rs
index d6b3d0c9..93bf84b4 100644
--- a/src/tape/drive/virtual_tape.rs
+++ b/src/tape/drive/virtual_tape.rs
@@ -336,7 +336,7 @@ impl TapeDriver for VirtualTapeHandle {
Some(VirtualTapeStatus { ref mut pos, .. }) => {
if count <= *pos {
- *pos = *pos - count;
+ *pos -= count;
} else {
bail!("backward_space_count_files failed: move before BOT");
}
--
2.20.1
More information about the pbs-devel
mailing list