From: Hannes Laimer <h.laimer@proxmox.com>
To: Dominik Csapak <d.csapak@proxmox.com>,
Proxmox Backup Server development discussion
<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH v2 proxmox-backup 00/15] (partially)close #3156: Add support for removable datastores
Date: Fri, 3 Sep 2021 11:27:24 +0200 [thread overview]
Message-ID: <f97f5b28-9167-47fb-4b6c-eb22d9836cf8@proxmox.com> (raw)
In-Reply-To: <c4692781-6487-5898-e6d4-84c88c1985b6@proxmox.com>
Am 01.09.21 um 16:48 schrieb Dominik Csapak:
> High level comment here, rest in the relevant patches:
>
> looks mostly ok, but one things stood out:
>
> why do you add a command for the socket and the
> manager 'send command' method? would it not have
> been easier to call the mount api directly
> from the proxmox-backup-manager?
Since this is called by a udev rule it has to finish almost
immediately, calling the API(also through the pbs-manager)
takes to long, and everything forked will be killed. So
I had to somehow make the udev rule just 'dispatch' the mounting
command without actually doing it or starting another thread/process
to do it. The path to the socket file starts with a null byte and
is therefore not really accessible from outside of the rust code.
>
> also, would it not make sense to have
> multiple uuids per datastore instead of only one?
>
> i guess most users of this will want to have more than
> one usb devices in rotation, and having multiple
> datastores + multiple sync jobs is probably
> a bit error prone. just allowing multiple
> uuids for each datastore would solve that
> problem nicely
>
> On 8/30/21 13:14, Hannes Laimer wrote:
>> v2(based on Lorenz Stechauner <l.stechauner@proxmox.com>'s feedback):
>> - do not allow creation of removable datastores on a device that
>> is mounted at '/'
>> - ui: also show the mount point in the Options-tab
>>
>> Adds the possibility to create removable datastores. A removable
>> datastore has a UUID(the device on which the data is stored) and a
>> mount-point(where the device will be mounted), iff both are set the
>> datastore is removable. Everything else is identical to normal
>> datastores. Since config files for jobs, etc. are stored on the server,
>> all configuration can be done with the device plugged in or not. Certain
>> statistics about the datastore won't be available as long as it is not
>> plugged in.
>> Removable datastores have to be unmounted before removing, it can only
>> be unmounted if not jibs are running.
>> Removable datastores are mounted automatically when the device is
>> plugged in, if it has
>> been unmounted, it has to be mounted manually through the WebUI or the
>> Api.
>> Jobs will not be started if the datastore is not available, and
>> depending on the configuration, start when the device is plugged in the
>> next time.
>>
>> Still todo:
>> - make sync to local datastore more integrated
>> - (add 'when plugged in'-option to job schedule?)
>> - replace linux commands with internal functions in tools/disks, where
>> possible
>>
>> Hannes Laimer (15):
>> tools: add disks utility functions
>> config: add uuid+mountpoint to DataStoreConfig
>> api2: add support for removable datastore creation
>> backup: add check_if_available function to ds
>> api2: add 'is_available' to DataStoreConfig
>> api2: add 'removable' to DataStoreListItem
>> api2: add (un)mount endpoint for removable ds's
>> pbs: add mount-removable command to commandSocket
>> pbs-manager: add 'send-command' command
>> debian: add udev rule for removable datastores
>> ui: show usb icon for removable datastore in list
>> ui: add 'removable' checkbox in datastore creation
>> ui: display row as disabled in ds statistics
>> ui: show backing device UUID and mount-point in option tab
>> ui: add (un)mount button to summary
>>
>> debian/proxmox-backup-server.udev | 3 +
>> pbs-api-types/src/lib.rs | 7 ++
>> src/api2/admin/datastore.rs | 159 +++++++++++++++++++++++++++
>> src/api2/config/datastore.rs | 22 +++-
>> src/api2/status.rs | 19 +++-
>> src/api2/types/mod.rs | 2 +
>> src/backup/datastore.rs | 23 ++++
>> src/backup/mod.rs | 2 +-
>> src/bin/proxmox-backup-api.rs | 27 +++++
>> src/bin/proxmox-backup-manager.rs | 41 +++++++
>> src/config/datastore.rs | 16 +++
>> src/tools/disks/mod.rs | 53 +++++++++
>> www/NavigationTree.js | 3 +-
>> www/dashboard/DataStoreStatistics.js | 3 +
>> www/datastore/OptionView.js | 6 +
>> www/datastore/Summary.js | 77 ++++++++++++-
>> www/window/DataStoreEdit.js | 5 +
>> 17 files changed, 460 insertions(+), 8 deletions(-)
>>
>
>
next prev parent reply other threads:[~2021-09-03 9:27 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-30 11:14 Hannes Laimer
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 01/15] tools: add disks utility functions Hannes Laimer
2021-09-01 14:48 ` Dominik Csapak
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 02/15] config: add uuid+mountpoint to DataStoreConfig Hannes Laimer
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 03/15] api2: add support for removable datastore creation Hannes Laimer
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 04/15] backup: add check_if_available function to ds Hannes Laimer
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 05/15] api2: add 'is_available' to DataStoreConfig Hannes Laimer
2021-09-01 14:48 ` Dominik Csapak
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 06/15] api2: add 'removable' to DataStoreListItem Hannes Laimer
2021-09-01 14:48 ` Dominik Csapak
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 07/15] api2: add (un)mount endpoint for removable ds's Hannes Laimer
2021-09-01 14:48 ` Dominik Csapak
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 08/15] pbs: add mount-removable command to commandSocket Hannes Laimer
2021-08-30 11:14 ` [pbs-devel] [PATCH v2 proxmox-backup 09/15] pbs-manager: add 'send-command' command Hannes Laimer
2021-08-30 11:15 ` [pbs-devel] [PATCH v2 proxmox-backup 10/15] debian: add udev rule for removable datastores Hannes Laimer
2021-08-30 11:15 ` [pbs-devel] [PATCH v2 proxmox-backup 11/15] ui: show usb icon for removable datastore in list Hannes Laimer
2021-08-30 11:15 ` [pbs-devel] [PATCH v2 proxmox-backup 12/15] ui: add 'removable' checkbox in datastore creation Hannes Laimer
2021-08-30 11:15 ` [pbs-devel] [PATCH v2 proxmox-backup 13/15] ui: display row as disabled in ds statistics Hannes Laimer
2021-08-30 11:15 ` [pbs-devel] [PATCH v2 proxmox-backup 14/15] ui: show backing device UUID and mount-point in option tab Hannes Laimer
2021-08-30 11:15 ` [pbs-devel] [PATCH v2 proxmox-backup 15/15] ui: add (un)mount button to summary Hannes Laimer
2021-09-01 14:48 ` Dominik Csapak
2021-09-01 14:48 ` [pbs-devel] [PATCH v2 proxmox-backup 00/15] (partially)close #3156: Add support for removable datastores Dominik Csapak
2021-09-02 6:09 ` Thomas Lamprecht
2021-09-02 6:18 ` Dominik Csapak
2021-09-02 6:28 ` Thomas Lamprecht
2021-09-03 9:27 ` Hannes Laimer [this message]
2021-09-02 6:25 Dietmar Maurer
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=f97f5b28-9167-47fb-4b6c-eb22d9836cf8@proxmox.com \
--to=h.laimer@proxmox.com \
--cc=d.csapak@proxmox.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal