public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Hannes Laimer <h.laimer@proxmox.com>,
	pbs-devel@lists.proxmox.com,
	Thomas Lamprecht <t.lamprecht@proxmox.com>
Subject: Re: applied: [PATCH proxmox-backup v8 00/13] fixes #6195: add support for moving groups and namespaces
Date: Fri, 24 Apr 2026 10:31:32 +0200	[thread overview]
Message-ID: <1777018910.mv34jbslq9.astroid@yuna.none> (raw)
In-Reply-To: <177698386728.726567.11620419590194139855.b4-ty@b4>

On April 24, 2026 12:38 am, Thomas Lamprecht wrote:
> On Wed, 22 Apr 2026 15:39:38 +0200, Hannes Laimer wrote:
>> Add support for moving backup groups and entire namespace subtrees to
>> a different location within the same datastore.
>> 
>> Groups are moved with exclusive per-group and per-snapshot locking.
>> For S3, objects are copied to the target prefix before deleting the
>> source. Namespace moves process groups individually, deferring and
>> retrying lock conflicts once, so partially failed moves can be
>> completed with move-group.
>> 
>> [...]
> 
> Applied, thanks!
> 
> Squashed in the relatively trivial fixes for what Michael found, but I really
> could not find any issue with locking after multiple looks, so either that came
> from some side effect in testing or we'd need more info for a good reproducer.

I can reproduce this easily, and the cause is that the
proxmox-backup-manager CLI handlers directly execute the API endpoints,
instead of going via the proxy..

that causes some parent dirs in the locking hiearchy to have the wrong
ownership (755 root:root instead of 755 backup:backup), which then turns
into

failed to delete snapshot - Error { context: "while destroying snapshot \'BackupDir { store: \"test\", ns: BackupNamespace { inner: [\"foobar\"], len: 7 }, dir: BackupDir { group: BackupGroup { ty: Host, id: \"bookworm\" }, time: 1674040234 }, backup_time_string: \"2023-01-18T11:10:34Z\" }\'", source: Error { context: "unable to acquire snapshot lock \"/run/proxmox-backup/locks/test/foobar/host-bookworm-2023\\\\x2d01\\\\x2d18T11\\\\x3a10\\\\x3a34Z\"", source: "mkstemp \"/run/proxmox-backup/locks/test/foobar/host-bookworm-2023\\\\x2d01\\\\x2d18T11\\\\x3a10\\\\x3a34Z.tmp_XXXXXX\" failed: EACCES: Permission denied", }, } (400)

because it's not possible for the user backup to create new lock files
in that directory.. cleared by a reboot or recursive chown, and fixed by
either moving those commands to the client, or letting manager connect
to the API.

it's also a bit weird that
- create namespace
- list namespaces
- delete namespace

for namespaces are all in proxmox-backup-client, but moving a namespace
is only available in proxmox-backup-manager which lacks all of the
above..

similarly, interactions with groups are in the client:
- create snapshot (and thus implictly groups)
- forget snapshots by pruning a group
- forget individual snapshots
- forgetting a whole group
- listing snapshots (and thus groups)
- changing group ownership

but moving a group is only available in proxmox-backup-manager again,
which has no other group-level commands AFAICT?




  reply	other threads:[~2026-04-24  8:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-22 13:39 Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 01/13] ui: show empty groups Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 02/13] datastore: lift check_namespace_depth_limit to pbs-datastore Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 03/13] datastore: have BackupGroup::destroy consume the group lock Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 04/13] datastore: split remove_namespace into flat and recursive variants Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 05/13] datastore: add move journal for coordinating with gc phase 1 Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 06/13] datastore: add move-group Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 07/13] datastore: add move-namespace Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 08/13] docs: add section on moving namespaces and groups Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 09/13] api: add POST endpoint for move-group Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 10/13] api: add POST endpoint for move-namespace Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 11/13] ui: add move group action Hannes Laimer
2026-04-23 13:35   ` Michael Köppl
2026-04-23 13:47     ` Hannes Laimer
2026-04-22 13:39 ` [PATCH proxmox-backup v8 12/13] ui: add move namespace action Hannes Laimer
2026-04-23 14:49   ` Michael Köppl
2026-04-22 13:39 ` [PATCH proxmox-backup v8 13/13] cli: add move-namespace and move-group commands Hannes Laimer
2026-04-23 16:29 ` [PATCH proxmox-backup v8 00/13] fixes #6195: add support for moving groups and namespaces Michael Köppl
2026-04-23 22:38 ` applied: " Thomas Lamprecht
2026-04-24  8:31   ` Fabian Grünbichler [this message]
2026-04-24  8:43     ` Hannes Laimer

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=1777018910.mv34jbslq9.astroid@yuna.none \
    --to=f.gruenbichler@proxmox.com \
    --cc=h.laimer@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    --cc=t.lamprecht@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