• F
    block: Fix unaligned zero write · fc3959e4
    Fam Zheng 提交于
    If the zero write is not aligned, bdrv_co_do_pwritev will segfault
    because of accessing to the NULL qiov passed in by bdrv_co_write_zeroes.
    Fix this by allocating a local qiov in bdrv_co_do_pwritev if the request
    is not aligned. (In this case the padding iovs are necessary anyway, so
    it doesn't hurt.)
    
    Also add a check at the end of bdrv_co_do_pwritev to clear the zero flag
    if padding is involved.
    Signed-off-by: NFam Zheng <famz@redhat.com>
    Message-id: 1427160230-4489-2-git-send-email-famz@redhat.com
    Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
    fc3959e4
block.c 176.3 KB