From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 6D3A470CAE for ; Tue, 6 Apr 2021 08:27:50 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 65DD929ADA for ; Tue, 6 Apr 2021 08:27:50 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id B8B2129AAA for ; Tue, 6 Apr 2021 08:27:48 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 85219459C6 for ; Tue, 6 Apr 2021 08:27:48 +0200 (CEST) From: Dominik Csapak To: pbs-devel@lists.proxmox.com Date: Tue, 6 Apr 2021 08:27:39 +0200 Message-Id: <20210406062747.9356-5-d.csapak@proxmox.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210406062747.9356-1-d.csapak@proxmox.com> References: <20210406062747.9356-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.173 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH proxmox-backup 04/12] tape/media_*: clippy fixes X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Apr 2021 06:27:50 -0000 fixes: * impl (or derive) Default if struct has 'new()' * use `or_insert_with` * combine if branches Signed-off-by: Dominik Csapak --- src/tape/media_catalog.rs | 10 ++++++---- src/tape/media_pool.rs | 16 ++++++---------- src/tape/media_set.rs | 4 ++++ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/tape/media_catalog.rs b/src/tape/media_catalog.rs index 04eb50b2..f6e51eea 100644 --- a/src/tape/media_catalog.rs +++ b/src/tape/media_catalog.rs @@ -30,6 +30,7 @@ use crate::{ }, }; +#[derive(Default)] pub struct DatastoreContent { pub snapshot_index: HashMap, // snapshot => file_nr pub chunk_index: HashMap<[u8;32], u64>, // chunk => file_nr @@ -575,7 +576,7 @@ impl MediaCatalog { unsafe { self.pending.write_le_value(entry)?; } self.pending.extend(store.as_bytes()); - self.content.entry(store.to_string()).or_insert(DatastoreContent::new()); + self.content.entry(store.to_string()).or_insert_with(DatastoreContent::new); self.current_archive = Some((uuid, file_number, store.to_string())); @@ -683,7 +684,7 @@ impl MediaCatalog { self.pending.extend(snapshot.as_bytes()); let content = self.content.entry(store.to_string()) - .or_insert(DatastoreContent::new()); + .or_insert_with(DatastoreContent::new); content.snapshot_index.insert(snapshot.to_string(), file_number); @@ -804,7 +805,7 @@ impl MediaCatalog { self.check_start_chunk_archive(file_number)?; self.content.entry(store.to_string()) - .or_insert(DatastoreContent::new()); + .or_insert_with(DatastoreContent::new); self.current_archive = Some((uuid, file_number, store.to_string())); } @@ -838,7 +839,7 @@ impl MediaCatalog { self.check_register_snapshot(file_number, snapshot)?; let content = self.content.entry(store.to_string()) - .or_insert(DatastoreContent::new()); + .or_insert_with(DatastoreContent::new); content.snapshot_index.insert(snapshot.to_string(), file_number); @@ -879,6 +880,7 @@ impl MediaCatalog { /// Media set catalog /// /// Catalog for multiple media. +#[derive(Default)] pub struct MediaSetCatalog { catalog_list: HashMap, } diff --git a/src/tape/media_pool.rs b/src/tape/media_pool.rs index 3d5eba83..fce4962e 100644 --- a/src/tape/media_pool.rs +++ b/src/tape/media_pool.rs @@ -347,13 +347,11 @@ impl MediaPool { MediaLocation::Online(name) => { if self.force_media_availability { true + } else if let Some(ref changer_name) = self.changer_name { + name == changer_name } else { - if let Some(ref changer_name) = self.changer_name { - name == changer_name - } else { - // a standalone drive cannot use media currently inside a library - false - } + // a standalone drive cannot use media currently inside a library + false } } MediaLocation::Offline => { @@ -604,10 +602,8 @@ impl MediaPool { let media_location = media.location(); if self.location_is_available(media_location) { last_is_writable = true; - } else { - if let MediaLocation::Vault(vault) = media_location { - bail!("writable media offsite in vault '{}'", vault); - } + } else if let MediaLocation::Vault(vault) = media_location { + bail!("writable media offsite in vault '{}'", vault); } }, _ => bail!("unable to use media set - wrong media status {:?}", media.status()), diff --git a/src/tape/media_set.rs b/src/tape/media_set.rs index 5568e7f6..858a9e77 100644 --- a/src/tape/media_set.rs +++ b/src/tape/media_set.rs @@ -74,3 +74,7 @@ impl MediaSet { } } } + +impl Default for MediaSet { + fn default() -> Self { Self::new() } +} -- 2.20.1