[pbs-devel] [PATCH proxmox{, -backup} 0/7] introduce streaming content api call

Dominik Csapak d.csapak at proxmox.com
Fri Oct 3 10:50:32 CEST 2025


This series introduces a new api call `content` on a datastore that returns the
whole content recursively, including namespaces, groups and snapshots.

It's doing that using the async-stream + proxmox-router::Stream, so a client
can get the separate records without having to wait for the api call to finish.

This is intended to improve ui responsiveness, since we can show things
even when it's still loading. This can be very useful for large datastores.

This series contains some refactorings that were necessary, but also includes
one performance improvement for the `groups` api call
(stumbled upon it during testing)

proxmox:

Dominik Csapak (1):
  pbs-api-types: add api types for streaming content api call

 pbs-api-types/Cargo.toml       |  1 +
 pbs-api-types/src/datastore.rs | 99 ++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+)


proxmox-backup:

Dominik Csapak (6):
  backup: hierarchy: add new can_access_any_namespace_in_range helper
  backup: hierarchy: reuse 'NS_PRIVS_OK' for namespace helper
  api: admin: datastore: refactor BackupGroup to GroupListItem
    conversion
  api: admin: datastore: factor out 'get_group_owner'
  api: admin: datastore: optimize `groups` api call
  api: admin: datastore: implement streaming content api call

 Cargo.toml                  |   2 +
 src/api2/admin/datastore.rs | 340 +++++++++++++++++++++++++++---------
 src/backup/hierarchy.rs     |  31 ++--
 3 files changed, 281 insertions(+), 92 deletions(-)


Summary over all repositories:
  5 files changed, 381 insertions(+), 92 deletions(-)

-- 
Generated by git-murpp 0.8.1




More information about the pbs-devel mailing list