• Eric Blake's avatar
    qemu-nbd: Deprecate qemu-nbd --partition · 0ae2d546
    Eric Blake authored
    The existing qemu-nbd --partition code claims to handle logical
    partitions up to 8, since its introduction in 2008 (commit 7a5ca864).
    However, the implementation is bogus (actual MBR logical partitions
    form a sort of linked list, with one partition per extended table
    entry, rather than four logical partitions in a single extended
    table), making the code unlikely to work for anything beyond -P5 on
    actual guest images. What's more, the code does not support GPT
    partitions, which are becoming more popular, and maintaining device
    subsetting in both NBD and the raw device is unnecessary duplication
    of effort (even if it is not too difficult).
    
    Note that obtaining the offsets of a partition (MBR or GPT) can be
    learned by using 'qemu-nbd -c /dev/nbd0 file.qcow2 && sfdisk --dump
    /dev/nbd0', but by the time you've done that, you might as well
    just mount /dev/nbd0p1 that the kernel creates for you instead of
    bothering with qemu exporting a subset.  Or, keeping to just
    user-space code, use nbdkit's partition filter, which has already
    known both GPT and primary MBR partitions for a while, and was
    just recently enhanced to support arbitrary logical MBR parititions.
    
    Start the clock on the deprecation cycle, with examples of how
    to accomplish device subsetting without using -P.
    Signed-off-by: default avatarEric Blake <eblake@redhat.com>
    Message-Id: <20190125234837.2272-1-eblake@redhat.com>
    Reviewed-by: default avatarRichard W.M. Jones <rjones@redhat.com>
    Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
    0ae2d546