[pbs-devel] [PATCH proxmox 03/19] tree-wide: remove clone calls on types that are `Copy`
Shannon Sterz
s.sterz at proxmox.com
Thu Mar 6 13:43:33 CET 2025
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 at 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
More information about the pbs-devel
mailing list