[pbs-devel] [PATCH proxmox-backup v14 24/26] ui: support create removable datastore through directory creation

Dominik Csapak d.csapak at proxmox.com
Mon Nov 25 14:28:07 CET 2024


a bit offtopic, but why only directory storages and not also zfs based ones?

e.g. i can imagine users wanting a zpool on an external disk too (for
checksumming, send/receive, snapshotting, etc)

On 11/22/24 15:47, Hannes Laimer wrote:
> Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
> ---
>   src/api2/node/disks/directory.rs |  2 ++
>   www/DirectoryList.js             | 13 +++++++++++++
>   www/window/CreateDirectory.js    | 14 ++++++++++++++
>   3 files changed, 29 insertions(+)
> 
> diff --git a/src/api2/node/disks/directory.rs b/src/api2/node/disks/directory.rs
> index ff817b253..2f7cc7a27 100644
> --- a/src/api2/node/disks/directory.rs
> +++ b/src/api2/node/disks/directory.rs
> @@ -150,6 +150,8 @@ pub fn list_datastore_mounts() -> Result<Vec<DatastoreMountInfo>, Error> {
>               "removable-datastore": {
>                   description: "The added datastore is removable.",
>                   type: bool,
> +                optional: true,
> +                default: false,
>               },
>               filesystem: {
>                   type: FileSystemType,
> diff --git a/www/DirectoryList.js b/www/DirectoryList.js
> index adefa9abf..25921a623 100644
> --- a/www/DirectoryList.js
> +++ b/www/DirectoryList.js
> @@ -121,6 +121,19 @@ Ext.define('PBS.admin.Directorylist', {
>       ],
>   
>       columns: [
> +	{
> +	    text: '<span class="fa fa-plug"/>',
> +	    flex: 0,
> +	    width: 35,
> +	    dataIndex: 'removable',
> +	    renderer: function(_text, _, row) {
> +		if (row.data.removable) {
> +		    return `<i class="fa fa-check"/>`;
> +		} else {
> +		    return '';
> +		}
> +	    },
> +	},
>   	{
>   	    text: gettext('Path'),
>   	    dataIndex: 'path',
> diff --git a/www/window/CreateDirectory.js b/www/window/CreateDirectory.js
> index 6aabe21ab..38d6979d9 100644
> --- a/www/window/CreateDirectory.js
> +++ b/www/window/CreateDirectory.js
> @@ -43,6 +43,20 @@ Ext.define('PBS.window.CreateDirectory', {
>   	    name: 'add-datastore',
>   	    fieldLabel: gettext('Add as Datastore'),
>   	    value: '1',
> +	    listeners: {
> +		change(field, newValue, _oldValue) {
> +		    let form = field.up('form');
> +		    let rmBox = form.down('[name=removable-datastore]');
> +
> +		    rmBox.setDisabled(!newValue);
> +		    rmBox.setValue(false);
> +		},
> +	    },
> +	},
> +	{
> +	    xtype: 'proxmoxcheckbox',
> +	    name: 'removable-datastore',
> +	    fieldLabel: gettext('is removable'),
>   	},
>       ],
>   });





More information about the pbs-devel mailing list