[pbs-devel] [PATCH proxmox-backup 1/2] tape: simplify export_media_set for pool writer

Dietmar Maurer dietmar at proxmox.com
Mon Oct 18 10:38:40 CEST 2021


> so drop the code that unloads the tape from the drive, and let the
> export code itself handle that

But you drop much more functionality??

> 
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
> tested on my virtual tape library, but would be grateful if someone else
> tests this again on real hardware
> 
>  src/tape/pool_writer/mod.rs | 14 +-------------
>  1 file changed, 1 insertion(+), 13 deletions(-)
> 
> diff --git a/src/tape/pool_writer/mod.rs b/src/tape/pool_writer/mod.rs
> index cc069ff5..9ff4a173 100644
> --- a/src/tape/pool_writer/mod.rs
> +++ b/src/tape/pool_writer/mod.rs
> @@ -150,21 +150,9 @@ impl PoolWriter {
>  
>      /// Export current media set and drop PoolWriterState (close drive)
>      pub fn export_media_set(&mut self, worker: &WorkerTask) -> Result<(), Error> {
> -        let mut status = self.status.take();
> -
>          let (drive_config, _digest) = pbs_config::drive::config()?;
>  
>          if let Some((mut changer, _)) = media_changer(&drive_config, &self.drive_name)? {
> -
> -            if let Some(ref mut status) = status {
> -                task_log!(worker, "eject media");
> -                status.drive.eject_media()?; // rewind and eject early, so that unload_media is faster
> -            }

What about this rewind?

> -            drop(status); // close drive

and this drop()?

> -
> -            task_log!(worker, "unload media");
> -            changer.unload_media(None)?;
> -
>              for media_uuid in self.pool.current_media_list()? {
>                  let media = self.pool.lookup_media(media_uuid)?;
>                  let label_text = media.label_text();
> @@ -175,7 +163,7 @@ impl PoolWriter {
>                  }
>              }
>  
> -        } else if let Some(mut status) = status {
> +        } else if let Some(mut status) = self.status.take() {
>              task_log!(worker, "standalone drive - ejecting media instead of export");
>              status.drive.eject_media()?;
>          }
> -- 
> 2.30.2
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel




More information about the pbs-devel mailing list