all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Stoiko Ivanov <s.ivanov@proxmox.com>
To: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
Cc: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [RFC manager] vzdump: exclude zfs control dirs by default
Date: Tue, 17 Jan 2023 15:07:39 +0100	[thread overview]
Message-ID: <20230117150739.4718f90a@rosa.proxmox.com> (raw)
In-Reply-To: <20230116122120.4063364-1-f.gruenbichler@proxmox.com>

Thanks for tackling this and providing the patch

LGTM code-wise and I think the potential for regression should be pretty
small (plus users who want this can always adapt the vzdump invocation).

small nit on the commit-message:

On Mon, 16 Jan 2023 13:21:20 +0100
Fabian Grünbichler <f.gruenbichler@proxmox.com> wrote:

> else in the face of snapdir=visible on a ZFS-backed mountpoint/rootfs, creating
> stop mode backups will fail (because automounting on access of
> .zfs/snapshot/XXX fails), and restoring a suspend mode backup onto a ZFS

While trying to reproduce this for a quick test I was confused - until I
noticed - that the first backup in any mode (suspend/stop) always works,
it's from the second backup where suspend and stop fail

The reason is that the first backup automounts the/all snapshots in the
PVE node, and the second backup again triggers a mount (probably due to
the different mount namespace), which in turn fails (because the snapshot
is already mounted.

w/ w/o a potential adaptation of the commit message:
Tested-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>

> storage will fail (because an attempt to `mkdir /path/to/target/.zfs/snapshot/XXX`
> fails - or worse, if the "zfs_admin_snapshot" module parameter is enabled, will
> create an XXX snapshot for the newly-restored dataset).
> 
> the two sub directories of .zfs were chosen to decrease the chance of false
> positives, since backing up or restoring the .zfs dir itself is unproblematic.
> 
> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
> ---
> 
> Notes:
>     see https://forum.proxmox.com/threads/restore-cannot-mkdir-permission-denied.121096
>     
>     alternatively, this could also be handled in pve-container by checking for each
>     mountpoint and explicitly skipping .zfs only if that mountpoint is actually
>     backed by a ZFS storage..
>     
>     if this patch is ACKed, the description of 'stdexcludes' in pve-guest-common should
>     probably also be updated..
> 
>  PVE/VZDump.pm | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
> index a04837e7..9b9d37a8 100644
> --- a/PVE/VZDump.pm
> +++ b/PVE/VZDump.pm
> @@ -542,6 +542,8 @@ sub new {
>  	    '/tmp/?*',
>  	    '/var/tmp/?*',
>  	    '/var/run/?*.pid',
> +	    '.zfs/snapshot',
> +	    '.zfs/shares',
>  	    ;
>      }
>  





  reply	other threads:[~2023-01-17 14:07 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-16 12:21 Fabian Grünbichler
2023-01-17 14:07 ` Stoiko Ivanov [this message]
2023-01-18  9:29   ` Fabian Grünbichler

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=20230117150739.4718f90a@rosa.proxmox.com \
    --to=s.ivanov@proxmox.com \
    --cc=f.gruenbichler@proxmox.com \
    --cc=pve-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