• M
    qemu-io: Use BlockBackend · 4c7b7e9b
    Max Reitz 提交于
    qemu-io should behave like a guest, therefore it should use BlockBackend
    to access the block layer.
    
    There are a couple of places where that is infeasible: First, the
    bdrv_debug_* functions could theoretically be mirrored in the
    BlockBackend, but since these are functions internal to the block layer,
    they should not be visible externally (qemu-io as a test tool is exempt
    from this).
    
    Second, bdrv_get_info() and bdrv_get_specific_info() work on a single
    BDS alone, therefore they should stay BDS-specific.
    
    Third, bdrv_is_allocated() mainly works on a single BDS as well. Some
    data may be passed through from the BDS's file (if sectors which are
    apparently allocated in the file are not really allocated there but just
    zero).
    
    [Fixed conflicts around block_acct_start() usage from Fam Zheng's
    "qemu-io: Account IO by aio_read and aio_write" commit.  Use
    BlockBackend and blk_get_stats() instead of BlockDriverState.
    --Stefan]
    Signed-off-by: NMax Reitz <mreitz@redhat.com>
    Reviewed-by: NEric Blake <eblake@redhat.com>
    Message-id: 1423162705-32065-14-git-send-email-mreitz@redhat.com
    Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
    4c7b7e9b
qemu-io-cmds.c 56.1 KB