Commit 1adb0b5e authored by Max Reitz's avatar Max Reitz
Browse files

blkdebug: Inject errors on .bdrv_co_block_status()



Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id: 20190507203508.18026-6-mreitz@redhat.com
Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
parent f8cec157
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -670,7 +670,15 @@ static int coroutine_fn blkdebug_co_block_status(BlockDriverState *bs,
                                                 int64_t *map,
                                                 BlockDriverState **file)
{
    int err;

    assert(QEMU_IS_ALIGNED(offset | bytes, bs->bl.request_alignment));

    err = rule_check(bs, offset, bytes, BLKDEBUG_IO_TYPE_BLOCK_STATUS);
    if (err) {
        return err;
    }

    return bdrv_co_block_status_from_file(bs, want_zero, offset, bytes,
                                          pnum, map, file);
}
+4 −1
Original line number Diff line number Diff line
@@ -3281,10 +3281,13 @@
#
# @flush: .bdrv_co_flush_to_disk()
#
# @block-status: .bdrv_co_block_status()
#
# Since: 4.1
##
{ 'enum': 'BlkdebugIOType', 'prefix': 'BLKDEBUG_IO_TYPE',
  'data': [ 'read', 'write', 'write-zeroes', 'discard', 'flush' ] }
  'data': [ 'read', 'write', 'write-zeroes', 'discard', 'flush',
            'block-status' ] }

##
# @BlkdebugInjectErrorOptions: