all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Shannon Sterz <s.sterz@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox 03/19] tree-wide: remove clone calls on types that are `Copy`
Date: Thu,  6 Mar 2025 13:43:33 +0100	[thread overview]
Message-ID: <20250306124349.288370-4-s.sterz@proxmox.com> (raw)
In-Reply-To: <20250306124349.288370-1-s.sterz@proxmox.com>

this resolves a clippy lint that checks that `clone()` isn't called on
`Copy` types as that is unnecessary [1].

[1]:
https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
 proxmox-log/src/file_logger.rs         |  3 +--
 proxmox-rest-server/src/worker_task.rs |  9 ++-------
 proxmox-rrd/src/cache.rs               |  8 ++------
 proxmox-rrd/src/cache/journal.rs       | 18 ++++--------------
 proxmox-rrd/src/cache/rrd_map.rs       |  6 +++---
 proxmox-shared-cache/src/lib.rs        | 18 ++++--------------
 proxmox-sys/src/logrotate.rs           |  2 +-
 7 files changed, 17 insertions(+), 47 deletions(-)

diff --git a/proxmox-log/src/file_logger.rs b/proxmox-log/src/file_logger.rs
index 1e67b450..39d16857 100644
--- a/proxmox-log/src/file_logger.rs
+++ b/proxmox-log/src/file_logger.rs
@@ -93,8 +93,7 @@ impl FileLogger {
             flags |= OFlag::O_EXCL;
         }
 
-        let file =
-            atomic_open_or_create_file(&file_name, flags, &[], options.file_opts.clone(), false)?;
+        let file = atomic_open_or_create_file(&file_name, flags, &[], options.file_opts, false)?;
 
         Ok(file)
     }
diff --git a/proxmox-rest-server/src/worker_task.rs b/proxmox-rest-server/src/worker_task.rs
index 24e2676e..9351bbee 100644
--- a/proxmox-rest-server/src/worker_task.rs
+++ b/proxmox-rest-server/src/worker_task.rs
@@ -136,7 +136,6 @@ impl WorkerTaskSetup {
     fn lock_task_list_files(&self, exclusive: bool) -> Result<TaskListLockGuard, Error> {
         let options = self
             .file_opts
-            .clone()
             .perm(nix::sys::stat::Mode::from_bits_truncate(0o660));
 
         let timeout = std::time::Duration::new(15, 0);
@@ -163,7 +162,6 @@ impl WorkerTaskSetup {
         let mut path = self.log_directory(upid);
         let dir_opts = self
             .file_opts
-            .clone()
             .perm(nix::sys::stat::Mode::from_bits_truncate(0o755));
 
         create_path(&path, None, Some(dir_opts))?;
@@ -222,7 +220,6 @@ impl WorkerTaskSetup {
 
         let options = self
             .file_opts
-            .clone()
             .perm(nix::sys::stat::Mode::from_bits_truncate(0o660));
 
         replace_file(&self.active_tasks_fn, active_raw.as_bytes(), options, false)?;
@@ -237,7 +234,6 @@ impl WorkerTaskSetup {
         if !finish_list.is_empty() {
             let options = self
                 .file_opts
-                .clone()
                 .perm(nix::sys::stat::Mode::from_bits_truncate(0o660));
 
             let mut writer = atomic_open_or_create_file(
@@ -268,10 +264,9 @@ impl WorkerTaskSetup {
         try_block!({
             let dir_opts = self
                 .file_opts
-                .clone()
                 .perm(nix::sys::stat::Mode::from_bits_truncate(0o755));
 
-            create_path(&self.taskdir, Some(dir_opts.clone()), Some(dir_opts))?;
+            create_path(&self.taskdir, Some(dir_opts), Some(dir_opts))?;
             // fixme:??? create_path(pbs_buildcfg::PROXMOX_BACKUP_RUN_DIR, None, Some(opts))?;
             Ok(())
         })
@@ -901,7 +896,7 @@ impl WorkerTask {
             exclusive: true,
             prefix_time: true,
             read: true,
-            file_opts: setup.file_opts.clone(),
+            file_opts: setup.file_opts,
             ..Default::default()
         };
         let logger = FileLogger::new(path, logger_options)?;
diff --git a/proxmox-rrd/src/cache.rs b/proxmox-rrd/src/cache.rs
index 9dd85a16..29d46ed5 100644
--- a/proxmox-rrd/src/cache.rs
+++ b/proxmox-rrd/src/cache.rs
@@ -66,12 +66,8 @@ impl Cache {
         let file_options = file_options.unwrap_or_default();
         let dir_options = dir_options.unwrap_or_default();
 
-        create_path(
-            &basedir,
-            Some(dir_options.clone()),
-            Some(dir_options.clone()),
-        )
-        .map_err(|err: Error| format_err!("unable to create rrdb stat dir - {}", err))?;
+        create_path(&basedir, Some(dir_options), Some(dir_options))
+            .map_err(|err: Error| format_err!("unable to create rrdb stat dir - {}", err))?;
 
         let config = Arc::new(CacheConfig {
             basedir,
diff --git a/proxmox-rrd/src/cache/journal.rs b/proxmox-rrd/src/cache/journal.rs
index c196b342..fe48f23b 100644
--- a/proxmox-rrd/src/cache/journal.rs
+++ b/proxmox-rrd/src/cache/journal.rs
@@ -112,13 +112,8 @@ impl JournalState {
         journal_path.push(RRD_JOURNAL_NAME);
 
         let flags = OFlag::O_CLOEXEC | OFlag::O_RDONLY;
-        let journal = atomic_open_or_create_file(
-            &journal_path,
-            flags,
-            &[],
-            self.config.file_options.clone(),
-            false,
-        )?;
+        let journal =
+            atomic_open_or_create_file(&journal_path, flags, &[], self.config.file_options, false)?;
         Ok(BufReader::new(journal))
     }
 
@@ -127,13 +122,8 @@ impl JournalState {
         journal_path.push(RRD_JOURNAL_NAME);
 
         let flags = OFlag::O_CLOEXEC | OFlag::O_WRONLY | OFlag::O_APPEND;
-        let journal = atomic_open_or_create_file(
-            &journal_path,
-            flags,
-            &[],
-            config.file_options.clone(),
-            false,
-        )?;
+        let journal =
+            atomic_open_or_create_file(&journal_path, flags, &[], config.file_options, false)?;
         Ok(journal)
     }
 
diff --git a/proxmox-rrd/src/cache/rrd_map.rs b/proxmox-rrd/src/cache/rrd_map.rs
index 0ef61cfa..27ea8e6e 100644
--- a/proxmox-rrd/src/cache/rrd_map.rs
+++ b/proxmox-rrd/src/cache/rrd_map.rs
@@ -51,8 +51,8 @@ impl RRDMap {
                 None => {
                     create_path(
                         path.parent().unwrap(),
-                        Some(self.config.dir_options.clone()),
-                        Some(self.config.dir_options.clone()),
+                        Some(self.config.dir_options),
+                        Some(self.config.dir_options),
                     )?;
 
                     (self.create_rrd_cb)(dst)
@@ -82,7 +82,7 @@ impl RRDMap {
         if let Some(rrd) = self.map.get(rel_path) {
             let mut path = self.config.basedir.clone();
             path.push(rel_path);
-            rrd.save(&path, self.config.file_options.clone(), true)
+            rrd.save(&path, self.config.file_options, true)
         } else {
             bail!("rrd file {} not loaded", rel_path);
         }
diff --git a/proxmox-shared-cache/src/lib.rs b/proxmox-shared-cache/src/lib.rs
index d0b2148a..65abc1ac 100644
--- a/proxmox-shared-cache/src/lib.rs
+++ b/proxmox-shared-cache/src/lib.rs
@@ -127,7 +127,7 @@ impl SharedCache {
         proxmox_sys::fs::replace_file(
             &self.path,
             new_content.as_bytes(),
-            self.create_options.clone(),
+            self.create_options,
             true,
         )?;
 
@@ -137,7 +137,7 @@ impl SharedCache {
     /// Removes all items from the cache.
     pub fn delete(&self, lock_timeout: Duration) -> Result<(), Error> {
         let _lock = self.lock(lock_timeout)?;
-        proxmox_sys::fs::replace_file(&self.path, &[], self.create_options.clone(), true)?;
+        proxmox_sys::fs::replace_file(&self.path, &[], self.create_options, true)?;
 
         Ok(())
     }
@@ -145,12 +145,7 @@ impl SharedCache {
     fn lock(&self, lock_timeout: Duration) -> Result<File, Error> {
         let mut lockfile_path = self.path.clone();
         lockfile_path.set_extension("lock");
-        proxmox_sys::fs::open_file_locked(
-            lockfile_path,
-            lock_timeout,
-            true,
-            self.create_options.clone(),
-        )
+        proxmox_sys::fs::open_file_locked(lockfile_path, lock_timeout, true, self.create_options)
     }
 }
 
@@ -178,12 +173,7 @@ mod tests {
                 .group(nix::unistd::Gid::effective())
                 .perm(nix::sys::stat::Mode::from_bits_truncate(0o700));
 
-            proxmox_sys::fs::create_path(
-                &path,
-                Some(dir_options.clone()),
-                Some(dir_options.clone()),
-            )
-            .unwrap();
+            proxmox_sys::fs::create_path(&path, Some(dir_options), Some(dir_options)).unwrap();
 
             let cache = SharedCache::new(path.join("somekey"), options, keep_old).unwrap();
             Self {
diff --git a/proxmox-sys/src/logrotate.rs b/proxmox-sys/src/logrotate.rs
index 704a18ce..cb96974a 100644
--- a/proxmox-sys/src/logrotate.rs
+++ b/proxmox-sys/src/logrotate.rs
@@ -64,7 +64,7 @@ impl LogRotate {
         options: &CreateOptions,
     ) -> Result<(), Error> {
         let mut source = File::open(source_path)?;
-        let (fd, tmp_path) = make_tmp_file(target_path, options.clone())?;
+        let (fd, tmp_path) = make_tmp_file(target_path, *options)?;
         let target = unsafe { File::from_raw_fd(fd.into_raw_fd()) };
         let mut encoder = match zstd::stream::write::Encoder::new(target, 0) {
             Ok(encoder) => encoder,
-- 
2.39.5



_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


  parent reply	other threads:[~2025-03-06 12:44 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-06 12:43 [pbs-devel] [PATCH proxmox 00/19] clippy, test and doc clean up Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 01/19] io: clippy fix: replace `map()` followed by `any()` with just `any()` Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 02/19] tree-wide: add parantheses to clarify precedence Shannon Sterz
2025-03-06 12:43 ` Shannon Sterz [this message]
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 04/19] tfa: don't use block in conditions Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 05/19] tfa: remove needless `as_bytes` call Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 06/19] access-control/tfa: use `?` instead of unnecessary match statements Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 07/19] sys: add truncate option to `OpenOptions` in test case Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 08/19] router: allow `from_str` on Confirmation that is not for `FromStr` Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 09/19] auth-api/tfa: prefer `Display` over `ToString`/an inherent function Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 10/19] acme/auth-api: add `Default` for types with un-parameterized `new()` Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 11/19] shared-memory: specify generic types for transmute Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 12/19] router: ignore clippy lint `missing_transmute_annotations` Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 13/19] rest-server/router: ignore type complexity clippy lint Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 14/19] apt: ignore clippy lint about using a slice reference instead of `&Vec` Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 15/19] apt: ignore clippy lint about new having to return `Self` Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 16/19] network-api: ignore clippy lint about upper case acronyms Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 17/19] router: fix nested doc test cases to match inteded output Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 18/19] api-macro: re-order ObjectSchema fields to be sorted Shannon Sterz
2025-03-06 12:43 ` [pbs-devel] [PATCH proxmox 19/19] tree-wide: fix intra doc links Shannon Sterz
2025-03-06 14:26 ` [pbs-devel] applied-series: [PATCH proxmox 00/19] clippy, test and doc clean up Wolfgang Bumiller

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=20250306124349.288370-4-s.sterz@proxmox.com \
    --to=s.sterz@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 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