public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup] fix #5439: disallow creation of datastore in root
Date: Thu, 16 May 2024 13:42:59 +0200	[thread overview]
Message-ID: <1715859245.emoltfil54.astroid@yuna.none> (raw)
In-Reply-To: <20240516105835.mhc3jeqjkaws5dyq@luna.proxmox.com>

On May 16, 2024 12:58 pm, Gabriel Goller wrote:
> On 16.05.2024 12:15, Fabian Grünbichler wrote:
>>On May 10, 2024 11:58 am, Gabriel Goller wrote:
>>> Creating a datastore in root ('/') works, but afterwards gc fails (can't
>>> traverse all directories). It might be sensible to restrict this and
>>> disallow creation of datastores in the root directory.
>>
>>if we do this, we should also forbid it on the frontend side ;)
> 
> Yes, we can do that as well.
> This will probably be difficult, because AFAIK extjs doesn't support
> anything like this out of the box. But creating a custom input field +
> listeners to change the style should work.

just add a validator that forbids '/', or am I missing something?

>>I wonder whether we shouldn't handle this in a more generic fashion
>>though:
>>- disallow path being non-empty (ignoring .zfs ?) -> `/` is not allowed
>>  by default
>>- unless a flag is set -> in case we forget to handle something, we need
>>  an escape hatch
>>- if the flag is set, check whether .chunks already exists, and if it
>>  does, do not recreate the chunk store
>>
>>that way, we could also solve the "re-add datastore after re-install"
>>issue users are frequently facing..
> 
> Wait, what is the issue here?

the issue is that right now, if you lose your datastore.cfg (entry) for
whatever reason (the most common would be - move the actual datastore
from one PBS to another, or re-install, or test disaster recovery), you
cannot recreate it via our API/CLI. to re-add an already existing
(on-disk) datastore you have to manually edit datastore.cfg, since
attempting to create a "new" one using the already existing path fails
since it can't create the chunk store (it's already there after all).

this happens more often than you'd think, and even if just for
stream-lining disaster recovery it would be a nice addition. of course,
the question is whether to focus on that (and just add a flag that
signifies "expect/check that the datastore is already initialized"), or
whether to have a generic "ignore that path is not empty" flag that also
covers this (that would also cover more niche use cases, but most of
those would go against our recommendations anyway, since they would
entail sharing the datastore path with other usage).

>>obviously, even with that we can explicitly always forbid '/' (before or
>>after implementing such a mechanism), since that one is always wrong.
> 
> TBH, I don't think there is much to gain from adding all of this.
> This is still very much a niche issue IMO, as most user have a separate
> disk for datastores, which makes a lot of these issues uncommon.

see above ;)


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel

  reply	other threads:[~2024-05-16 11:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-10  9:58 Gabriel Goller
2024-05-16 10:15 ` Fabian Grünbichler
2024-05-16 10:58   ` Gabriel Goller
2024-05-16 11:42     ` Fabian Grünbichler [this message]
2024-05-16 15:35       ` Gabriel Goller
2024-05-17  8:36         ` Fabian Grünbichler
2024-06-12 13:23 ` Gabriel Goller

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=1715859245.emoltfil54.astroid@yuna.none \
    --to=f.gruenbichler@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 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