From: Hannes Laimer <h.laimer@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: superseded: [PATCH proxmox-backup v6 0/8] fixes #6195: add support for moving groups and namespaces
Date: Thu, 16 Apr 2026 19:19:39 +0200 [thread overview]
Message-ID: <27c4f4d3-6f1b-4b9f-8183-46085eda2de3@proxmox.com> (raw)
In-Reply-To: <20260331123409.198353-1-h.laimer@proxmox.com>
superseded-by:
https://lore.proxmox.com/pbs-devel/20260416171830.266553-1-h.laimer@proxmox.com/
On 2026-03-31 14:33, 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.
>
>
> v6, thanks @Fabian and @Dominik!:
> - drop ns locks, lock everything directly, like we do for delete. only
> difference, we dont do partial group moves, reason being that we
> cant move single snapshots, so cleanup would not really be possible
> - ui: disable purne for empty groups
> - ui: dont render verification status for empty groups
>
> v5, thanks @Chris!:
> - lock dir instead of `.ns-lock` file
> - explicitly drop ns lock guards in specific order
> - improve cleanup of partially failed s3 moves, we now create the local
> empty dir+owner file before we start copying s3 objects, if any of
> the s3 ops fail, the dir stays behind and can be deleted through the
> UI(which also triggers a prefix cleanup on the s3 storage)
> - update parameters for `DataStore::lookup_datastore()`
> - ui: re-ordered actions, `move` now next to `verify`
> - ui: add move to right-click context menu
> - ui: show empty groups in the UI
> - add cli commands for both ns and group moves
> - add 2s ns lock timeout for worker tasks
>
> *note*: given the UI change to show empty groups it could make sense to
> not auto-delete a group if the last snapshot is deleted. For this series
> though that is not relevant since we just need empty groups to be
> deletable through the UI for partially failed s3 moves
>
> Hannes Laimer (8):
> ui: show empty groups
> datastore: add move_group
> datastore: add move_namespace
> api: add PUT endpoint for move_group
> api: add PUT endpoint for move_namespace
> ui: add move group action
> ui: add move namespace action
> cli: add move-namespace and move-group commands
>
> pbs-datastore/src/backup_info.rs | 153 ++++++++-
> pbs-datastore/src/datastore.rs | 335 +++++++++++++++++++-
> src/api2/admin/datastore.rs | 78 ++++-
> src/api2/admin/namespace.rs | 78 ++++-
> src/bin/proxmox_backup_manager/datastore.rs | 84 ++++-
> www/Makefile | 2 +
> www/datastore/Content.js | 161 ++++++++--
> www/form/NamespaceSelector.js | 11 +
> www/window/GroupMove.js | 56 ++++
> www/window/NamespaceMove.js | 79 +++++
> 10 files changed, 1003 insertions(+), 34 deletions(-)
> create mode 100644 www/window/GroupMove.js
> create mode 100644 www/window/NamespaceMove.js
>
prev parent reply other threads:[~2026-04-16 17:20 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-31 12:34 Hannes Laimer
2026-03-31 12:34 ` [PATCH proxmox-backup v6 1/8] ui: show empty groups Hannes Laimer
2026-03-31 12:34 ` [PATCH proxmox-backup v6 2/8] datastore: add move_group Hannes Laimer
2026-04-07 13:18 ` Fabian Grünbichler
2026-03-31 12:34 ` [PATCH proxmox-backup v6 3/8] datastore: add move_namespace Hannes Laimer
2026-04-07 13:18 ` Fabian Grünbichler
2026-03-31 12:34 ` [PATCH proxmox-backup v6 4/8] api: add PUT endpoint for move_group Hannes Laimer
2026-04-08 7:35 ` Fabian Grünbichler
2026-03-31 12:34 ` [PATCH proxmox-backup v6 5/8] api: add PUT endpoint for move_namespace Hannes Laimer
2026-04-08 7:35 ` Fabian Grünbichler
2026-03-31 12:34 ` [PATCH proxmox-backup v6 6/8] ui: add move group action Hannes Laimer
2026-03-31 12:34 ` [PATCH proxmox-backup v6 7/8] ui: add move namespace action Hannes Laimer
2026-04-02 9:28 ` Arthur Bied-Charreton
2026-03-31 12:34 ` [PATCH proxmox-backup v6 8/8] cli: add move-namespace and move-group commands Hannes Laimer
2026-04-02 9:22 ` Arthur Bied-Charreton
2026-04-02 9:34 ` [PATCH proxmox-backup v6 0/8] fixes #6195: add support for moving groups and namespaces Arthur Bied-Charreton
2026-04-16 17:19 ` Hannes Laimer [this message]
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=27c4f4d3-6f1b-4b9f-8183-46085eda2de3@proxmox.com \
--to=h.laimer@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.