blkdebug: Inject errors on .bdrv_co_block_status()

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id: 20190507203508.18026-6-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Max Reitz 2019-05-07 22:35:06 +02:00
parent f8cec157cb
commit 1adb0b5e0f
2 changed files with 12 additions and 1 deletions

View File

@ -670,7 +670,15 @@ static int coroutine_fn blkdebug_co_block_status(BlockDriverState *bs,
int64_t *map, int64_t *map,
BlockDriverState **file) BlockDriverState **file)
{ {
int err;
assert(QEMU_IS_ALIGNED(offset | bytes, bs->bl.request_alignment)); 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, return bdrv_co_block_status_from_file(bs, want_zero, offset, bytes,
pnum, map, file); pnum, map, file);
} }

View File

@ -3281,10 +3281,13 @@
# #
# @flush: .bdrv_co_flush_to_disk() # @flush: .bdrv_co_flush_to_disk()
# #
# @block-status: .bdrv_co_block_status()
#
# Since: 4.1 # Since: 4.1
## ##
{ 'enum': 'BlkdebugIOType', 'prefix': 'BLKDEBUG_IO_TYPE', { 'enum': 'BlkdebugIOType', 'prefix': 'BLKDEBUG_IO_TYPE',
'data': [ 'read', 'write', 'write-zeroes', 'discard', 'flush' ] } 'data': [ 'read', 'write', 'write-zeroes', 'discard', 'flush',
'block-status' ] }
## ##
# @BlkdebugInjectErrorOptions: # @BlkdebugInjectErrorOptions: