[pbs-devel] [PATCH proxmox-backup 2/2] ui: tape: fix restoring a single datastore

Dominik Csapak d.csapak at proxmox.com
Tue Apr 25 15:59:56 CEST 2023


if the user selected a single datastore to restore from tape on a
media-set that includes more than one, the ui suggests (and is
intended to) that only that datastore will be restored on the selected
target.

The logic to construct the store mapping parameter did not consider that
case, and simply gave the target as default store, which meant all
datastores were restored onto the target.

To fix that, we have to get the source datastore from the field, and
construct the correct parameter ("source=target").

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/tape/window/TapeRestore.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/www/tape/window/TapeRestore.js b/www/tape/window/TapeRestore.js
index 48119ac6..2ff7c4dd 100644
--- a/www/tape/window/TapeRestore.js
+++ b/www/tape/window/TapeRestore.js
@@ -375,9 +375,15 @@ Ext.define('PBS.TapeManagement.TapeRestoreWindow', {
 		    onGetValues: function(values) {
 			let me = this;
 			let controller = me.up('window').getController();
+			let vm = controller.getViewModel();
 			let datastores = [];
 			if (values.store.toString() !== "") {
-			    datastores.push(values.store);
+			    if (vm.get('singleDatastore')) {
+				let source = controller.lookup('snapshotGrid').getValue();
+				datastores.push(`${source}=${values.store}`);
+			    } else {
+				datastores.push(values.store);
+			    }
 			    delete values.store;
 			}
 
-- 
2.30.2






More information about the pbs-devel mailing list