all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [RFC 0/2] Implement 'map' subcommand to access raw backup images
@ 2020-08-17 14:13 Stefan Reiter
  2020-08-17 14:13 ` [pbs-devel] [RFC v2 proxmox-backup 1/2 (fuse)] client: implement map/unmap commands for .img backups Stefan Reiter
  2020-08-17 14:13 ` [pbs-devel] [RFC proxmox-backup 2/2 (nbd)] " Stefan Reiter
  0 siblings, 2 replies; 3+ messages in thread
From: Stefan Reiter @ 2020-08-17 14:13 UTC (permalink / raw)
  To: pbs-devel

NOTE: The two patches in this series are mutually exclusive, they cannot be
applied at the same time. Both versions do almost exactly the same thing from a
user perspective, but implemented differently.

The first one is a v2 of my previous work[0] using FUSE and a loop device, the
second one achieves the same thing via an NBD server.

In comparison to the FUSE version, the NBD one
 * requires less code
 * gets away without the complex async stuff needed for concurrent loopdev/FUSE
but
 * adds a new dependency, nbd-async[1]
 * AFAICT does not have a way to mark the block device as read-only (i.e. can
   only discard writes, but not set the flag), leading to some weird error
   messages when using the device from user space tools (e.g. mount without
   explicit "-o ro[,noload]")
 * requires the user the choose which /dev/nbdX to assign to manually
 * needs a kernel module which is typically not auto-loaded
 * uses NBD, which I personally don't really like ;)

Performance wise both are exactly the same (on my machine).


[0] https://lists.proxmox.com/pipermail/pbs-devel/2020-August/000307.html
[1] nbd-async needs to be modified slightly, since
     a) it uses [profile.release.build-override] which debcargo doesn't seem to
        like
     b) it depends on "nix 0.17" in upstream, while only 0.16 is packaged for
        debian - it does appear to work with 0.16 just as well though, which is
        how I tested it


proxmox-backup: Stefan Reiter (1):
  client: implement map/unmap commands for .img backups

 src/bin/proxmox-backup-client.rs       |   2 +
 src/bin/proxmox_backup_client/mount.rs | 175 ++++++++++++++---
 src/tools.rs                           |   2 +
 src/tools/fuse_loop.rs                 | 258 +++++++++++++++++++++++++
 src/tools/loopdev.rs                   |  93 +++++++++
 5 files changed, 506 insertions(+), 24 deletions(-)
 create mode 100644 src/tools/fuse_loop.rs
 create mode 100644 src/tools/loopdev.rs

-- 
2.20.1




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-17 14:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17 14:13 [pbs-devel] [RFC 0/2] Implement 'map' subcommand to access raw backup images Stefan Reiter
2020-08-17 14:13 ` [pbs-devel] [RFC v2 proxmox-backup 1/2 (fuse)] client: implement map/unmap commands for .img backups Stefan Reiter
2020-08-17 14:13 ` [pbs-devel] [RFC proxmox-backup 2/2 (nbd)] " Stefan Reiter

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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal