Skip to content
  • Eric Blake's avatar
    nbd/client: Add x-dirty-bitmap to query bitmap from server · 216ee365
    Eric Blake authored
    
    
    In order to test that the NBD server is properly advertising
    dirty bitmaps, we need a bare minimum client that can request
    and read the context.  Since feature freeze for 3.0 is imminent,
    this is the smallest workable patch, which replaces the qemu
    block status report with the results of the NBD server's dirty
    bitmap (making it very easy to use 'qemu-img map --output=json'
    to learn where the dirty portions are).  Note that the NBD
    protocol defines a dirty section with the same bit but opposite
    sense that normal "base:allocation" uses to report an allocated
    section; so in qemu-img map output, "data":true corresponds to
    clean, "data":false corresponds to dirty.
    
    A more complete solution that allows dirty bitmaps to be queried
    at the same time as normal block status will be required before
    this addition can lose the x- prefix.  Until then, the fact that
    this replaces normal status with dirty status means actions
    like 'qemu-img convert' will likely misbehave due to treating
    dirty regions of the file as if they are unallocated.
    
    The next patch adds an iotest to exercise this new code.
    
    Signed-off-by: default avatarEric Blake <eblake@redhat.com>
    Message-Id: <20180702191458.28741-2-eblake@redhat.com>
    216ee365