all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Stefan Reiter <s.reiter@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [RFC 0/2] Implement 'map' subcommand to access raw backup images
Date: Mon, 17 Aug 2020 16:13:37 +0200	[thread overview]
Message-ID: <20200817141339.16115-1-s.reiter@proxmox.com> (raw)

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




             reply	other threads:[~2020-08-17 14:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17 14:13 Stefan Reiter [this message]
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

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=20200817141339.16115-1-s.reiter@proxmox.com \
    --to=s.reiter@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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal