* [pbs-devel] [PATCH backup 1/8] server: remove needless clone
@ 2025-03-06 13:12 Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 2/8] run cargo clippy --fix Maximiliano Sandoval
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/server/push.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/server/push.rs b/src/server/push.rs
index ec5455bd..0db3dff3 100644
--- a/src/server/push.rs
+++ b/src/server/push.rs
@@ -848,7 +848,7 @@ pub(crate) async fn push_snapshot(
let archive_name = BackupArchiveName::from_path(&entry.filename)?;
match archive_name.archive_type() {
ArchiveType::Blob => {
- let file = std::fs::File::open(path.clone())?;
+ let file = std::fs::File::open(&path)?;
let backup_stats = backup_writer
.upload_blob(file, archive_name.as_ref())
.await?;
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] [PATCH backup 2/8] run cargo clippy --fix
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
@ 2025-03-06 13:12 ` Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 3/8] api: remove redundant guard Maximiliano Sandoval
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
The actual incantation is:
clippy --all-targets --workspace --all-features --fix
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
pbs-datastore/src/prune.rs | 10 +++++-----
src/api2/admin/datastore.rs | 2 +-
src/tools/disks/mod.rs | 6 ++++++
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/pbs-datastore/src/prune.rs b/pbs-datastore/src/prune.rs
index ad1493bf..7b6f9f75 100644
--- a/pbs-datastore/src/prune.rs
+++ b/pbs-datastore/src/prune.rs
@@ -124,13 +124,13 @@ pub fn compute_prune_info(
if let Some(keep_hourly) = options.keep_hourly {
mark_selections(&mut mark, &list, keep_hourly as usize, |info| {
- strftime_local("%Y/%m/%d/%H", info.backup_dir.backup_time()).map_err(Error::from)
+ strftime_local("%Y/%m/%d/%H", info.backup_dir.backup_time())
})?;
}
if let Some(keep_daily) = options.keep_daily {
mark_selections(&mut mark, &list, keep_daily as usize, |info| {
- strftime_local("%Y/%m/%d", info.backup_dir.backup_time()).map_err(Error::from)
+ strftime_local("%Y/%m/%d", info.backup_dir.backup_time())
})?;
}
@@ -138,19 +138,19 @@ pub fn compute_prune_info(
mark_selections(&mut mark, &list, keep_weekly as usize, |info| {
// Note: Use iso-week year/week here. This year number
// might not match the calendar year number.
- strftime_local("%G/%V", info.backup_dir.backup_time()).map_err(Error::from)
+ strftime_local("%G/%V", info.backup_dir.backup_time())
})?;
}
if let Some(keep_monthly) = options.keep_monthly {
mark_selections(&mut mark, &list, keep_monthly as usize, |info| {
- strftime_local("%Y/%m", info.backup_dir.backup_time()).map_err(Error::from)
+ strftime_local("%Y/%m", info.backup_dir.backup_time())
})?;
}
if let Some(keep_yearly) = options.keep_yearly {
mark_selections(&mut mark, &list, keep_yearly as usize, |info| {
- strftime_local("%Y", info.backup_dir.backup_time()).map_err(Error::from)
+ strftime_local("%Y", info.backup_dir.backup_time())
})?;
}
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index dbb7ae47..cfe319c4 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -2556,7 +2556,7 @@ fn expect_maintanance_unmounting(
if store_config
.get_maintenance_mode()
- .map_or(true, |m| m.ty != MaintenanceType::Unmount)
+ .is_none_or(|m| m.ty != MaintenanceType::Unmount)
{
bail!("maintenance mode is not 'Unmount'");
}
diff --git a/src/tools/disks/mod.rs b/src/tools/disks/mod.rs
index e08ea8ca..b9aef368 100644
--- a/src/tools/disks/mod.rs
+++ b/src/tools/disks/mod.rs
@@ -830,6 +830,12 @@ pub struct DiskUsageQuery {
partitions: bool,
}
+impl Default for DiskUsageQuery {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
impl DiskUsageQuery {
pub const fn new() -> Self {
Self {
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] [PATCH backup 3/8] api: remove redundant guard
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 2/8] run cargo clippy --fix Maximiliano Sandoval
@ 2025-03-06 13:12 ` Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 4/8] snapshot_reader: replace Arc with Rc Maximiliano Sandoval
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
Fixes the redundant_guards clippy lint.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/api2/status/mod.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/api2/status/mod.rs b/src/api2/status/mod.rs
index 5efde9c3..e066a99c 100644
--- a/src/api2/status/mod.rs
+++ b/src/api2/status/mod.rs
@@ -150,7 +150,7 @@ pub async fn datastore_status(
if usage_list.len() >= 7 {
entry.estimated_full_date = match linear_regression(&time_list, &usage_list) {
Some((a, b)) if b != 0.0 => Some(((1.0 - a) / b).floor() as i64),
- Some((_, b)) if b == 0.0 => Some(0), // infinite estimate, set to past for gui to detect
+ Some((_, 0.0)) => Some(0), // infinite estimate, set to past for gui to detect
_ => None,
};
}
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] [PATCH backup 4/8] snapshot_reader: replace Arc with Rc
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 2/8] run cargo clippy --fix Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 3/8] api: remove redundant guard Maximiliano Sandoval
@ 2025-03-06 13:12 ` Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 5/8] fix the type_complexity clippy lint Maximiliano Sandoval
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
The type `Box<dyn IndexFile + Send>>, usize, Vec<(usize, u64)>` is not
Sync so it makes more sense to use Rc. This is suggested by clippy.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
pbs-datastore/src/snapshot_reader.rs | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/pbs-datastore/src/snapshot_reader.rs b/pbs-datastore/src/snapshot_reader.rs
index b9c3d931..36349888 100644
--- a/pbs-datastore/src/snapshot_reader.rs
+++ b/pbs-datastore/src/snapshot_reader.rs
@@ -2,6 +2,7 @@ use std::fs::File;
use std::os::unix::io::{AsRawFd, FromRawFd};
use std::path::Path;
use std::sync::Arc;
+use std::rc::Rc;
use anyhow::{bail, Error};
use nix::dir::Dir;
@@ -128,7 +129,7 @@ pub struct SnapshotChunkIterator<'a, F: Fn(&[u8; 32]) -> bool> {
todo_list: Vec<String>,
skip_fn: F,
#[allow(clippy::type_complexity)]
- current_index: Option<(Arc<Box<dyn IndexFile + Send>>, usize, Vec<(usize, u64)>)>,
+ current_index: Option<(Rc<Box<dyn IndexFile + Send>>, usize, Vec<(usize, u64)>)>,
}
impl<F: Fn(&[u8; 32]) -> bool> Iterator for SnapshotChunkIterator<'_, F> {
@@ -158,7 +159,7 @@ impl<F: Fn(&[u8; 32]) -> bool> Iterator for SnapshotChunkIterator<'_, F> {
let order =
datastore.get_chunks_in_order(&*index, &self.skip_fn, |_| Ok(()))?;
- self.current_index = Some((Arc::new(index), 0, order));
+ self.current_index = Some((Rc::new(index), 0, order));
} else {
return Ok(None);
}
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] [PATCH backup 5/8] fix the type_complexity clippy lint
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
` (2 preceding siblings ...)
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 4/8] snapshot_reader: replace Arc with Rc Maximiliano Sandoval
@ 2025-03-06 13:12 ` Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 6/8] create a CachedSchema struct Maximiliano Sandoval
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
proxmox-backup-client/src/main.rs | 4 +++-
.../src/proxmox_restore_daemon/auth.rs | 10 ++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/proxmox-backup-client/src/main.rs b/proxmox-backup-client/src/main.rs
index 0a2fc267..26a07b1c 100644
--- a/proxmox-backup-client/src/main.rs
+++ b/proxmox-backup-client/src/main.rs
@@ -193,13 +193,15 @@ pub async fn dir_or_last_from_group(
}
}
+type Catalog = CatalogWriter<TokioWriterAdapter<StdChannelWriter<Error>>>;
+
async fn backup_directory<P: AsRef<Path>>(
client: &BackupWriter,
dir_path: P,
archive_name: &BackupArchiveName,
payload_target: Option<&BackupArchiveName>,
chunk_size: Option<usize>,
- catalog: Option<Arc<Mutex<CatalogWriter<TokioWriterAdapter<StdChannelWriter<Error>>>>>>,
+ catalog: Option<Arc<Mutex<Catalog>>>,
pxar_create_options: pbs_client::pxar::PxarCreateOptions,
upload_options: UploadOptions,
) -> Result<(BackupStats, Option<BackupStats>), Error> {
diff --git a/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs b/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs
index 8cfc4f13..8173d48a 100644
--- a/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs
+++ b/proxmox-restore-daemon/src/proxmox_restore_daemon/auth.rs
@@ -39,17 +39,15 @@ pub fn read_ticket() -> Result<Arc<str>, Error> {
Ok(ticket.into())
}
-pub fn check_auth<'a>(
- ticket: Arc<str>,
- headers: &'a HeaderMap,
- _method: &'a Method,
-) -> Pin<
+type AuthFn<'a> = Pin<
Box<
dyn Future<Output = Result<(String, Box<dyn UserInformation + Sync + Send>), AuthError>>
+ Send
+ 'a,
>,
-> {
+>;
+
+pub fn check_auth<'a>(ticket: Arc<str>, headers: &'a HeaderMap, _method: &'a Method) -> AuthFn<'a> {
Box::pin(async move {
match headers.get(hyper::header::AUTHORIZATION) {
Some(header) if header.to_str().unwrap_or("") == &*ticket => {
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] [PATCH backup 6/8] create a CachedSchema struct
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
` (3 preceding siblings ...)
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 5/8] fix the type_complexity clippy lint Maximiliano Sandoval
@ 2025-03-06 13:12 ` Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 7/8] zfs: remove unnecessary arc from dataset object map Maximiliano Sandoval
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
Fix the type_complexity clippy lint.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/api2/config/acme.rs | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/api2/config/acme.rs b/src/api2/config/acme.rs
index 422b9720..99832d1d 100644
--- a/src/api2/config/acme.rs
+++ b/src/api2/config/acme.rs
@@ -428,9 +428,13 @@ impl Serialize for ChallengeSchemaWrapper {
}
}
+struct CachedSchema {
+ schema: Arc<Vec<AcmeChallengeSchema>>,
+ cached_mtime: SystemTime,
+}
+
fn get_cached_challenge_schemas() -> Result<ChallengeSchemaWrapper, Error> {
- static CACHE: LazyLock<Mutex<Option<(Arc<Vec<AcmeChallengeSchema>>, SystemTime)>>> =
- LazyLock::new(|| Mutex::new(None));
+ static CACHE: LazyLock<Mutex<Option<CachedSchema>>> = LazyLock::new(|| Mutex::new(None));
// the actual loading code
let mut last = CACHE.lock().unwrap();
@@ -438,10 +442,16 @@ fn get_cached_challenge_schemas() -> Result<ChallengeSchemaWrapper, Error> {
let actual_mtime = fs::metadata(crate::config::acme::ACME_DNS_SCHEMA_FN)?.modified()?;
let schema = match &*last {
- Some((schema, cached_mtime)) if *cached_mtime >= actual_mtime => schema.clone(),
+ Some(CachedSchema {
+ schema,
+ cached_mtime,
+ }) if *cached_mtime >= actual_mtime => schema.clone(),
_ => {
let new_schema = Arc::new(crate::config::acme::load_dns_challenge_schema()?);
- *last = Some((Arc::clone(&new_schema), actual_mtime));
+ *last = Some(CachedSchema {
+ schema: Arc::clone(&new_schema),
+ cached_mtime: actual_mtime,
+ });
new_schema
}
};
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] [PATCH backup 7/8] zfs: remove unnecessary arc from dataset object map
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
` (4 preceding siblings ...)
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 6/8] create a CachedSchema struct Maximiliano Sandoval
@ 2025-03-06 13:12 ` Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 8/8] add too_many_arguments clippy exception Maximiliano Sandoval
2025-03-06 14:00 ` [pbs-devel] applied-series: [PATCH backup 1/8] server: remove needless clone Wolfgang Bumiller
7 siblings, 0 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
The static was not really used anywhere else so it was made private.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/tools/disks/zfs.rs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/tools/disks/zfs.rs b/src/tools/disks/zfs.rs
index 3b7da154..034bc52d 100644
--- a/src/tools/disks/zfs.rs
+++ b/src/tools/disks/zfs.rs
@@ -1,7 +1,7 @@
use std::collections::HashSet;
use std::os::unix::fs::MetadataExt;
use std::path::PathBuf;
-use std::sync::{Arc, LazyLock, Mutex};
+use std::sync::{LazyLock, Mutex};
use anyhow::{bail, Error};
@@ -98,8 +98,8 @@ const_regex! {
OBJSET_REGEX = r"^objset-0x[a-fA-F0-9]+$";
}
-pub static ZFS_DATASET_OBJSET_MAP: LazyLock<Arc<Mutex<HashMap<String, (String, String)>>>> =
- LazyLock::new(|| Arc::new(Mutex::new(HashMap::new())));
+static ZFS_DATASET_OBJSET_MAP: LazyLock<Mutex<HashMap<String, (String, String)>>> =
+ LazyLock::new(|| Mutex::new(HashMap::new()));
// parses /proc/spl/kstat/zfs/POOL/objset-ID files
// they have the following format:
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] [PATCH backup 8/8] add too_many_arguments clippy exception
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
` (5 preceding siblings ...)
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 7/8] zfs: remove unnecessary arc from dataset object map Maximiliano Sandoval
@ 2025-03-06 13:12 ` Maximiliano Sandoval
2025-03-06 14:00 ` [pbs-devel] applied-series: [PATCH backup 1/8] server: remove needless clone Wolfgang Bumiller
7 siblings, 0 replies; 9+ messages in thread
From: Maximiliano Sandoval @ 2025-03-06 13:12 UTC (permalink / raw)
To: pbs-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
pbs-client/src/pxar/create.rs | 1 +
proxmox-backup-client/src/main.rs | 1 +
2 files changed, 2 insertions(+)
diff --git a/pbs-client/src/pxar/create.rs b/pbs-client/src/pxar/create.rs
index 33a4c29e..4968e4b8 100644
--- a/pbs-client/src/pxar/create.rs
+++ b/pbs-client/src/pxar/create.rs
@@ -871,6 +871,7 @@ impl Archiver {
.await
}
+ #[allow(clippy::too_many_arguments)]
async fn add_entry_to_archive<T: SeqWrite + Send>(
&mut self,
encoder: &mut Encoder<'_, T>,
diff --git a/proxmox-backup-client/src/main.rs b/proxmox-backup-client/src/main.rs
index 26a07b1c..7fa57b2f 100644
--- a/proxmox-backup-client/src/main.rs
+++ b/proxmox-backup-client/src/main.rs
@@ -195,6 +195,7 @@ pub async fn dir_or_last_from_group(
type Catalog = CatalogWriter<TokioWriterAdapter<StdChannelWriter<Error>>>;
+#[allow(clippy::too_many_arguments)]
async fn backup_directory<P: AsRef<Path>>(
client: &BackupWriter,
dir_path: P,
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [pbs-devel] applied-series: [PATCH backup 1/8] server: remove needless clone
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
` (6 preceding siblings ...)
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 8/8] add too_many_arguments clippy exception Maximiliano Sandoval
@ 2025-03-06 14:00 ` Wolfgang Bumiller
7 siblings, 0 replies; 9+ messages in thread
From: Wolfgang Bumiller @ 2025-03-06 14:00 UTC (permalink / raw)
To: Maximiliano Sandoval; +Cc: pbs-devel
applied series, thanks
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-03-06 14:00 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-06 13:12 [pbs-devel] [PATCH backup 1/8] server: remove needless clone Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 2/8] run cargo clippy --fix Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 3/8] api: remove redundant guard Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 4/8] snapshot_reader: replace Arc with Rc Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 5/8] fix the type_complexity clippy lint Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 6/8] create a CachedSchema struct Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 7/8] zfs: remove unnecessary arc from dataset object map Maximiliano Sandoval
2025-03-06 13:12 ` [pbs-devel] [PATCH backup 8/8] add too_many_arguments clippy exception Maximiliano Sandoval
2025-03-06 14:00 ` [pbs-devel] applied-series: [PATCH backup 1/8] server: remove needless clone Wolfgang Bumiller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal