[pbs-devel] applied: [PATCH proxmox-backup] clippy/fmt: tree wide drop of clone for types implementing copy

Wolfgang Bumiller w.bumiller at proxmox.com
Thu Mar 20 14:49:30 CET 2025


applied, thanks

On Thu, Mar 20, 2025 at 02:38:27PM +0100, Christian Ebner wrote:
> fixes the clippy warning on types T implementing Copy:
> ```
> warning: using `clone` on type `T` which implements the `Copy` trait
> ```
> 
> followed by formatting fixups via `cargo fmt`.
> 
> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
> ---
>  pbs-config/src/config_version_cache.rs  |  2 +-
>  pbs-datastore/src/chunk_store.rs        |  8 ++++----
>  pbs-datastore/src/task_tracking.rs      |  2 +-
>  src/api2/admin/datastore.rs             | 20 ++++++--------------
>  src/bin/proxmox-backup-api.rs           | 10 +++++-----
>  src/bin/proxmox-backup-proxy.rs         | 14 +++++++-------
>  src/bin/proxmox-daily-update.rs         |  2 +-
>  src/bin/proxmox_backup_debug/inspect.rs |  4 ++--
>  src/config/tfa.rs                       |  7 ++++---
>  src/server/jobstate.rs                  |  2 +-
>  src/tools/shared_rate_limiter.rs        |  2 +-
>  11 files changed, 33 insertions(+), 40 deletions(-)
> 
> diff --git a/pbs-config/src/config_version_cache.rs b/pbs-config/src/config_version_cache.rs
> index 3d570e937..e8fb994fb 100644
> --- a/pbs-config/src/config_version_cache.rs
> +++ b/pbs-config/src/config_version_cache.rs
> @@ -101,7 +101,7 @@ impl ConfigVersionCache {
>          let file_path = Path::new(FILE_PATH);
>          let dir_path = file_path.parent().unwrap();
>  
> -        create_path(dir_path, Some(dir_opts.clone()), Some(dir_opts))?;
> +        create_path(dir_path, Some(dir_opts), Some(dir_opts))?;
>  
>          let file_opts = CreateOptions::new()
>              .perm(Mode::from_bits_truncate(0o660))
> diff --git a/pbs-datastore/src/chunk_store.rs b/pbs-datastore/src/chunk_store.rs
> index 5e02909a1..dc267d752 100644
> --- a/pbs-datastore/src/chunk_store.rs
> +++ b/pbs-datastore/src/chunk_store.rs
> @@ -109,7 +109,7 @@ impl ChunkStore {
>  
>          let default_options = CreateOptions::new();
>  
> -        match create_path(&base, Some(default_options), Some(options.clone())) {
> +        match create_path(&base, Some(default_options), Some(options)) {
>              Err(err) => bail!("unable to create chunk store '{name}' at {base:?} - {err}"),
>              Ok(res) => {
>                  if !res {
> @@ -118,13 +118,13 @@ impl ChunkStore {
>              }
>          }
>  
> -        if let Err(err) = create_dir(&chunk_dir, options.clone()) {
> +        if let Err(err) = create_dir(&chunk_dir, options) {
>              bail!("unable to create chunk store '{name}' subdir {chunk_dir:?} - {err}");
>          }
>  
>          // create lock file with correct owner/group
>          let lockfile_path = Self::lockfile_path(&base);
> -        proxmox_sys::fs::replace_file(lockfile_path, b"", options.clone(), false)?;
> +        proxmox_sys::fs::replace_file(lockfile_path, b"", options, false)?;
>  
>          // create 64*1024 subdirs
>          let mut last_percentage = 0;
> @@ -132,7 +132,7 @@ impl ChunkStore {
>          for i in 0..64 * 1024 {
>              let mut l1path = chunk_dir.clone();
>              l1path.push(format!("{:04x}", i));
> -            if let Err(err) = create_dir(&l1path, options.clone()) {
> +            if let Err(err) = create_dir(&l1path, options) {
>                  bail!(
>                      "unable to create chunk store '{}' subdir {:?} - {}",
>                      name,
> diff --git a/pbs-datastore/src/task_tracking.rs b/pbs-datastore/src/task_tracking.rs
> index ec06a0bcc..77851cab6 100644
> --- a/pbs-datastore/src/task_tracking.rs
> +++ b/pbs-datastore/src/task_tracking.rs
> @@ -47,7 +47,7 @@ fn open_lock_file(name: &str) -> Result<(std::fs::File, CreateOptions), Error> {
>      let timeout = std::time::Duration::new(10, 0);
>  
>      Ok((
> -        open_file_locked(lock_path, timeout, true, options.clone())?,
> +        open_file_locked(lock_path, timeout, true, options)?,
>          options,
>      ))
>  }
> diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
> index cfe319c4e..483e595c1 100644
> --- a/src/api2/admin/datastore.rs
> +++ b/src/api2/admin/datastore.rs
> @@ -2416,20 +2416,12 @@ fn setup_mounted_device(datastore: &DataStoreConfig, tmp_mount_path: &str) -> Re
>          .owner(backup_user.uid)
>          .group(backup_user.gid);
>  
> -    proxmox_sys::fs::create_path(
> -        &mount_point,
> -        Some(default_options.clone()),
> -        Some(options.clone()),
> -    )
> -    .map_err(|e| format_err!("creating mountpoint '{mount_point}' failed: {e}"))?;
> +    proxmox_sys::fs::create_path(&mount_point, Some(default_options), Some(options))
> +        .map_err(|e| format_err!("creating mountpoint '{mount_point}' failed: {e}"))?;
>  
>      // can't be created before it is mounted, so we have to do it here
> -    proxmox_sys::fs::create_path(
> -        &full_store_path,
> -        Some(default_options.clone()),
> -        Some(options.clone()),
> -    )
> -    .map_err(|e| format_err!("creating datastore path '{full_store_path}' failed: {e}"))?;
> +    proxmox_sys::fs::create_path(&full_store_path, Some(default_options), Some(options))
> +        .map_err(|e| format_err!("creating datastore path '{full_store_path}' failed: {e}"))?;
>  
>      info!(
>          "bind mount '{}'({}) to '{}'",
> @@ -2468,8 +2460,8 @@ pub fn do_mount_device(datastore: DataStoreConfig) -> Result<(), Error> {
>          let default_options = proxmox_sys::fs::CreateOptions::new();
>          proxmox_sys::fs::create_path(
>              &tmp_mount_path,
> -            Some(default_options.clone()),
> -            Some(default_options.clone()),
> +            Some(default_options),
> +            Some(default_options),
>          )?;
>  
>          info!("temporarily mounting '{uuid}' to '{}'", tmp_mount_path);
> diff --git a/src/bin/proxmox-backup-api.rs b/src/bin/proxmox-backup-api.rs
> index 60f9b4948..7b4187550 100644
> --- a/src/bin/proxmox-backup-api.rs
> +++ b/src/bin/proxmox-backup-api.rs
> @@ -88,21 +88,21 @@ async fn run() -> Result<(), Error> {
>          .default_api2_handler(&proxmox_backup::api2::ROUTER)
>          .enable_access_log(
>              pbs_buildcfg::API_ACCESS_LOG_FN,
> -            Some(dir_opts.clone()),
> -            Some(file_opts.clone()),
> +            Some(dir_opts),
> +            Some(file_opts),
>              &mut command_sock,
>          )?
>          .enable_auth_log(
>              pbs_buildcfg::API_AUTH_LOG_FN,
> -            Some(dir_opts.clone()),
> -            Some(file_opts.clone()),
> +            Some(dir_opts),
> +            Some(file_opts),
>              &mut command_sock,
>          )?;
>  
>      let rest_server = RestServer::new(config);
>      proxmox_rest_server::init_worker_tasks(
>          pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR_M!().into(),
> -        file_opts.clone(),
> +        file_opts,
>      )?;
>  
>      // http server future:
> diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs
> index fdfa7463a..c9a6032e6 100644
> --- a/src/bin/proxmox-backup-proxy.rs
> +++ b/src/bin/proxmox-backup-proxy.rs
> @@ -223,14 +223,14 @@ async fn run() -> Result<(), Error> {
>      config = config
>          .enable_access_log(
>              pbs_buildcfg::API_ACCESS_LOG_FN,
> -            Some(dir_opts.clone()),
> -            Some(file_opts.clone()),
> +            Some(dir_opts),
> +            Some(file_opts),
>              &mut command_sock,
>          )?
>          .enable_auth_log(
>              pbs_buildcfg::API_AUTH_LOG_FN,
> -            Some(dir_opts.clone()),
> -            Some(file_opts.clone()),
> +            Some(dir_opts),
> +            Some(file_opts),
>              &mut command_sock,
>          )?;
>  
> @@ -238,7 +238,7 @@ async fn run() -> Result<(), Error> {
>      let redirector = Redirector::new();
>      proxmox_rest_server::init_worker_tasks(
>          pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR_M!().into(),
> -        file_opts.clone(),
> +        file_opts,
>      )?;
>  
>      //openssl req -x509 -newkey rsa:4096 -keyout /etc/proxmox-backup/proxy.key -out /etc/proxmox-backup/proxy.pem -nodes
> @@ -752,7 +752,7 @@ async fn schedule_task_log_rotate() {
>                      true,
>                      Some(max_files),
>                      max_days,
> -                    Some(options.clone()),
> +                    Some(options),
>                  )?;
>  
>                  if has_rotated {
> @@ -768,7 +768,7 @@ async fn schedule_task_log_rotate() {
>                      pbs_buildcfg::API_ACCESS_LOG_FN,
>                      true,
>                      Some(max_files),
> -                    Some(options.clone()),
> +                    Some(options),
>                  )?;
>  
>                  if logrotate.rotate(max_size)? {
> diff --git a/src/bin/proxmox-daily-update.rs b/src/bin/proxmox-daily-update.rs
> index 97ccd973f..224103ccb 100644
> --- a/src/bin/proxmox-daily-update.rs
> +++ b/src/bin/proxmox-daily-update.rs
> @@ -95,7 +95,7 @@ async fn run(rpcenv: &mut dyn RpcEnvironment) -> Result<(), Error> {
>          .group(backup_user.gid);
>      proxmox_rest_server::init_worker_tasks(
>          pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR_M!().into(),
> -        file_opts.clone(),
> +        file_opts,
>      )?;
>  
>      let mut command_sock = proxmox_daemon::command_socket::CommandSocket::new(backup_user.gid);
> diff --git a/src/bin/proxmox_backup_debug/inspect.rs b/src/bin/proxmox_backup_debug/inspect.rs
> index 75a36870a..321080be3 100644
> --- a/src/bin/proxmox_backup_debug/inspect.rs
> +++ b/src/bin/proxmox_backup_debug/inspect.rs
> @@ -409,8 +409,8 @@ fn inspect_device(device: String, param: Value) -> Result<(), Error> {
>      let default_options = proxmox_sys::fs::CreateOptions::new();
>      proxmox_sys::fs::create_path(
>          &tmp_mount_path,
> -        Some(default_options.clone()),
> -        Some(default_options.clone()),
> +        Some(default_options),
> +        Some(default_options),
>      )?;
>      let mut mount_cmd = std::process::Command::new("mount");
>      mount_cmd.arg(device.clone());
> diff --git a/src/config/tfa.rs b/src/config/tfa.rs
> index d89b53db9..2a55213bb 100644
> --- a/src/config/tfa.rs
> +++ b/src/config/tfa.rs
> @@ -199,14 +199,15 @@ impl proxmox_tfa::api::OpenUserChallengeData for UserAccess {
>      fn open(&self, userid: &str) -> Result<Box<dyn UserChallengeAccess>, Error> {
>          crate::server::create_run_dir()?;
>          let options = CreateOptions::new().perm(Mode::from_bits_truncate(0o0600));
> -        proxmox_sys::fs::create_path(CHALLENGE_DATA_PATH, Some(options.clone()), Some(options))
> -            .map_err(|err| {
> +        proxmox_sys::fs::create_path(CHALLENGE_DATA_PATH, Some(options), Some(options)).map_err(
> +            |err| {
>                  format_err!(
>                      "failed to crate challenge data dir {:?}: {}",
>                      CHALLENGE_DATA_PATH,
>                      err
>                  )
> -            })?;
> +            },
> +        )?;
>  
>          let path = challenge_data_path_str(userid);
>  
> diff --git a/src/server/jobstate.rs b/src/server/jobstate.rs
> index be9dac427..dc9f6c90d 100644
> --- a/src/server/jobstate.rs
> +++ b/src/server/jobstate.rs
> @@ -87,7 +87,7 @@ pub fn create_jobstate_dir() -> Result<(), Error> {
>          .owner(backup_user.uid)
>          .group(backup_user.gid);
>  
> -    create_path(JOB_STATE_BASEDIR, Some(opts.clone()), Some(opts))
> +    create_path(JOB_STATE_BASEDIR, Some(opts), Some(opts))
>          .map_err(|err: Error| format_err!("unable to create job state dir - {err}"))?;
>  
>      Ok(())
> diff --git a/src/tools/shared_rate_limiter.rs b/src/tools/shared_rate_limiter.rs
> index 8c9e6086a..db754728b 100644
> --- a/src/tools/shared_rate_limiter.rs
> +++ b/src/tools/shared_rate_limiter.rs
> @@ -80,7 +80,7 @@ impl SharedRateLimiter {
>              .owner(user.uid)
>              .group(user.gid);
>  
> -        create_path(&path, Some(dir_opts.clone()), Some(dir_opts))?;
> +        create_path(&path, Some(dir_opts), Some(dir_opts))?;
>  
>          path.push(name);
>  
> -- 
> 2.39.5




More information about the pbs-devel mailing list