public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Jakob-Tobias Winter <tobias@stuttgart.de>
To: pbs-devel@lists.proxmox.com
Cc: Jakob-Tobias Winter <tobias@stuttgart.de>
Subject: [RFC PATCH proxmox-backup 4/4] ui: tape restore: add selector for additional drives
Date: Fri,  6 Nov 2026 14:38:27 +0100	[thread overview]
Message-ID: <20261106133826.1692620-6-tobias@stuttgart.de> (raw)
In-Reply-To: <20261106133826.1692620-2-tobias@stuttgart.de>

Allow choosing up to three more drives for a tape restore, to read
several media in parallel.

Signed-off-by: Jakob-Tobias Winter <tobias@stuttgart.de>
---
 www/tape/window/TapeRestore.js | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/www/tape/window/TapeRestore.js b/www/tape/window/TapeRestore.js
index 8ee4f17a9..d28d2f242 100644
--- a/www/tape/window/TapeRestore.js
+++ b/www/tape/window/TapeRestore.js
@@ -374,6 +374,11 @@ Ext.define('PBS.TapeManagement.TapeRestoreWindow', {
                         let controller = me.up('window').getController();
                         let vm = controller.getViewModel();
                         let datastores = [];
+
+                        let additionalDrives = values['additional-drives'];
+                        if (!additionalDrives || additionalDrives.length === 0) {
+                            delete values['additional-drives'];
+                        }
                         if (values.store.toString() !== '') {
                             let target = values.store.toString();
                             delete values.store;
@@ -479,6 +484,16 @@ Ext.define('PBS.TapeManagement.TapeRestoreWindow', {
                             fieldLabel: gettext('Drive'),
                             labelWidth: 120,
                         },
+                        {
+                            xtype: 'pbsDriveSelector',
+                            name: 'additional-drives',
+                            fieldLabel: gettext('Additional Drives'),
+                            labelWidth: 120,
+                            multiSelect: true,
+                            allowBlank: true,
+                            skipEmptyText: true,
+                            emptyText: gettext('None'),
+                        },
                         {
                             xtype: 'pbsDataStoreSelector',
                             name: 'store',
-- 
2.53.0




      parent reply	other threads:[~2026-11-06 13:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-06 13:38 [RFC PATCH proxmox-backup 0/4] fix 7333 use multiple tape drives for restoring Jakob-Tobias Winter
2026-11-06 13:38 ` [RFC PATCH proxmox-backup 1/4] tape: drive: add a pool to use several drives for one task Jakob-Tobias Winter
2026-11-06 13:38 ` [RFC PATCH proxmox-backup 2/4] tape: restore: use a drive pool for the selective restore Jakob-Tobias Winter
2026-11-06 13:38 ` [RFC PATCH proxmox-backup 3/4] close #7333: tape: restore: allow using several drives in parallel Jakob-Tobias Winter
2026-11-06 13:38 ` Jakob-Tobias Winter [this message]

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=20261106133826.1692620-6-tobias@stuttgart.de \
    --to=tobias@stuttgart.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal