From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Proxmox Backup Server development discussion"
<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup 2/2] api: disks: directory: fail if mount unit already exists
Date: Wed, 27 Nov 2024 16:23:04 +0100 [thread overview]
Message-ID: <D5X2BRGHBE6W.3OM2GU7H6CRPN@proxmox.com> (raw)
In-Reply-To: <20241127150658.107034-3-f.ebner@proxmox.com>
On Wed Nov 27, 2024 at 4:06 PM CET, Fiona Ebner wrote:
> Without this check, if a mount unit is present, but the file system is
> not mounted, it will just get overwritten. The unit might belong to an
> existing datastore.
>
> There already is a check against a duplicate datastore, but only after
> the mount unit is already overwritten and having the add-datastore
> flag present is not a precondition to trigger the issue.
>
> The check is done even if the newly created directory datastore is
> removable. While in that case, the mount unit is not overwritten, the
> conflict for the mount point is still present, so it is nice to fail
> early.
>
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
> src/api2/node/disks/directory.rs | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/src/api2/node/disks/directory.rs b/src/api2/node/disks/directory.rs
> index 7bdf0111..d4690d45 100644
> --- a/src/api2/node/disks/directory.rs
> +++ b/src/api2/node/disks/directory.rs
> @@ -204,6 +204,11 @@ pub fn create_datastore_disk(
> }
> }
>
> + let (mount_unit_path, _) = datastore_mount_unit_path_info(&mount_point);
> + if std::path::PathBuf::from(&mount_unit_path).exists() {
> + bail!("systemd mount unit {mount_unit_path:?} already exists");
nit: relying on the `Debug` trait here to quote the string feels a bit..
hacky to me? maybe just:
```rs
bail!("systemd mount unit \"{mount_unit_path}\" already exists");
```
or use single quotes as we do elsewhere.
> + }
> +
> let upid_str = WorkerTask::new_thread(
> "dircreate",
> Some(name.clone()),
Otherwise:
Reviewed-by: Shannon Sterz <s.sterz@proxmox.com>
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2024-11-27 15:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-27 15:06 [pbs-devel] [PATCH proxmox-backup 0/2] " Fiona Ebner
2024-11-27 15:06 ` [pbs-devel] [PATCH proxmox-backup 1/2] api: disks: directory: factor out helper for mount unit path Fiona Ebner
2024-11-27 15:21 ` Shannon Sterz
2024-11-27 15:06 ` [pbs-devel] [PATCH proxmox-backup 2/2] api: disks: directory: fail if mount unit already exists Fiona Ebner
2024-11-27 15:23 ` Shannon Sterz [this message]
2024-11-27 15:26 ` Thomas Lamprecht
2024-11-27 16:08 ` Fiona Ebner
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=D5X2BRGHBE6W.3OM2GU7H6CRPN@proxmox.com \
--to=s.sterz@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