• E
    nbd: Implement NBD_CMD_WRITE_ZEROES on server · 1f4d6d18
    Eric Blake 提交于
    Upstream NBD protocol recently added the ability to efficiently
    write zeroes without having to send the zeroes over the wire,
    along with a flag to control whether the client wants to allow
    a hole.
    
    Note that when it comes to requiring full allocation, vs.
    permitting optimizations, the NBD spec intentionally picked a
    different sense for the flag; the rules in qemu are:
    MAY_UNMAP == 0: must write zeroes
    MAY_UNMAP == 1: may use holes if reads will see zeroes
    
    while in NBD, the rules are:
    FLAG_NO_HOLE == 1: must write zeroes
    FLAG_NO_HOLE == 0: may use holes if reads will see zeroes
    
    In all cases, the 'may use holes' scenario is optional (the
    server need not use a hole, and must not use a hole if
    subsequent reads would not see zeroes).
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Message-Id: <1476469998-28592-16-git-send-email-eblake@redhat.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    1f4d6d18
server.c 39.6 KB