public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup 03/12] tape/drive: clippy fixes
Date: Tue,  6 Apr 2021 08:27:38 +0200	[thread overview]
Message-ID: <20210406062747.9356-4-d.csapak@proxmox.com> (raw)
In-Reply-To: <20210406062747.9356-1-d.csapak@proxmox.com>

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@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





  parent reply	other threads:[~2021-04-06  6:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06  6:27 [pbs-devel] [PATCH proxmox-backup 00/12] " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 01/12] api2/tape: " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 02/12] tape/changer: " Dominik Csapak
2021-04-06  6:27 ` Dominik Csapak [this message]
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 04/12] tape/media_*: " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 05/12] tape/pool_writer: " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 06/12] backup: " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 07/12] pxar: clippy fix `or_fun_call` Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 08/12] bin: clippy fixes Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 09/12] tape/*: " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 10/12] tools: " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 11/12] config/tape_encryption_keys: " Dominik Csapak
2021-04-06  6:27 ` [pbs-devel] [PATCH proxmox-backup 12/12] server/worker_task: clippy fix Dominik Csapak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210406062747.9356-4-d.csapak@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal