Skip to content
  • Eric Blake's avatar
    nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS · 2dcbb11b
    Eric Blake authored
    Allow a client to request a subset of negotiated meta contexts.  For
    example, a client may ask to use a single connection to learn about
    both block status and dirty bitmaps, but where the dirty bitmap
    queries only need to be performed on a subset of the disk; forcing the
    server to compute that information on block status queries in the rest
    of the disk is wasted effort (both at the server, and on the amount of
    traffic sent over the wire to be parsed and ignored by the client).
    
    Qemu as an NBD client never requests to use more than one meta
    context, so it has no need to use block status payloads.  Testing this
    instead requires support from libnbd, which CAN access multiple meta
    contexts in parallel from a single NBD connection; an interop test
    submitted to the libnbd project at the same time as this patch
    demonstrates the feature working, as well as testing some corner cases
    (for example, when the payload length is longer than the export
    length), alt...
    2dcbb11b