[pbs-devel] [PATCH v2 proxmox-backup 0/5] fix: #3847 pipe from STDIN to proxmox-backup-client
Christian Ebner
c.ebner at proxmox.com
Thu Jan 8 11:44:15 CET 2026
Patches look promising already, great work! Huge improvement since the
previous version of the patches.
Left some comments on individual patches, but nothing big so far.
On 12/19/25 5:18 PM, Robert Obkircher wrote:
> Add support for commands like:
> ssh host cmd | proxmox-backup-client backup data.img:/dev/stdin
> proxmox-backup-client backup a.img:<(mysqldump) b.img:<(pgdump)
>
> Changes since v1:
> - use mremap+ftruncate instead of write_all_at
> - make the size API parameter optional instead of using 0
> - use an enum to represent fixed/dynamic chunk size in UploadOptions
> - alias "-" to "/dev/stdin"
> - split changes into separate commits
>
> This does not yet need a detailed review, but let me know if anything
> looks completely off.
>
> I'm still planning on writing some proper tests for the backend.
> That may involve moving the resizing logic to a type like
> proxmox_sys::mmap::Mmap, so it can be tested in isolation.
>
> Christian Ebner previously suggested defining a trait for the
> FixedIndexWriter, with separate implementations for known and unknown
> size. I'm not sure if this is still necessary, because the changes are
> already much more isolated. Should I still introduce such a trait?
No, the current implementation really does not call for that at all.
>
>
> Robert Obkircher (5):
> fix #3847: datastore: support writing fidx files of unknown size
> fix #3847: api: backup: make fixed index file size optional
> fix #3847: client: support fifo pipe inputs for images
> fix #3847: client: treat minus sign as stdin
> DO NOT MERGE: test script for reference
>
> pbs-client/src/backup_writer.rs | 37 ++++++++----
> pbs-datastore/src/datastore.rs | 2 +-
> pbs-datastore/src/fixed_index.rs | 98 +++++++++++++++++++++++++++++--
> proxmox-backup-client/src/main.rs | 37 ++++++++----
> src/api2/backup/environment.rs | 8 ++-
> src/api2/backup/mod.rs | 4 +-
> src/server/push.rs | 13 ++--
> test-pipes.sh | 68 +++++++++++++++++++++
> 8 files changed, 227 insertions(+), 40 deletions(-)
> create mode 100755 test-pipes.sh
>
More information about the pbs-devel
mailing list