[pbs-devel] [PATCH proxmox-backup v2] tape: simplify export_media_set for pool writer

Dominik Csapak d.csapak at proxmox.com
Mon Oct 18 11:24:12 CEST 2021

our export code can handle if the tape is inside the drive, so unloading
it first does not have an benefit, it even makes the exporting slower,
since we first unload it into its original slot, and then moving it
to an import/export slot

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

change the 'eject' into a 'rewind' and comment why we do that first

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
changes from v1:
* do not drop the rewind first, so that the unload does not timeout. also fix
  comment and log for that
 src/tape/pool_writer/mod.rs | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/tape/pool_writer/mod.rs b/src/tape/pool_writer/mod.rs
index 3f9232d8..5d8d1644 100644
--- a/src/tape/pool_writer/mod.rs
+++ b/src/tape/pool_writer/mod.rs
@@ -157,14 +157,12 @@ impl PoolWriter {
         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
+                task_log!(worker, "rewind media");
+                // rewind first so that the unload command later does not run into a timeout
+                status.drive.rewind()?;
             drop(status); // close drive
-            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();

More information about the pbs-devel mailing list