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?
next prev parent 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