raw: Switch to .bdrv_co_block_status()

We are gradually moving away from sector-based interfaces, towards
byte-based.  Update the raw driver accordingly.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Eric Blake 2018-02-13 14:26:54 -06:00 committed by Kevin Wolf
parent b8d739fd6f
commit d41aa7e36f
1 changed files with 8 additions and 8 deletions

View File

@ -250,17 +250,17 @@ fail:
return ret; return ret;
} }
static int64_t coroutine_fn raw_co_get_block_status(BlockDriverState *bs, static int coroutine_fn raw_co_block_status(BlockDriverState *bs,
int64_t sector_num, bool want_zero, int64_t offset,
int nb_sectors, int *pnum, int64_t bytes, int64_t *pnum,
int64_t *map,
BlockDriverState **file) BlockDriverState **file)
{ {
BDRVRawState *s = bs->opaque; BDRVRawState *s = bs->opaque;
*pnum = nb_sectors; *pnum = bytes;
*file = bs->file->bs; *file = bs->file->bs;
sector_num += s->offset / BDRV_SECTOR_SIZE; *map = offset + s->offset;
return BDRV_BLOCK_RAW | BDRV_BLOCK_OFFSET_VALID | return BDRV_BLOCK_RAW | BDRV_BLOCK_OFFSET_VALID;
(sector_num << BDRV_SECTOR_BITS);
} }
static int coroutine_fn raw_co_pwrite_zeroes(BlockDriverState *bs, static int coroutine_fn raw_co_pwrite_zeroes(BlockDriverState *bs,
@ -496,7 +496,7 @@ BlockDriver bdrv_raw = {
.bdrv_co_pwritev = &raw_co_pwritev, .bdrv_co_pwritev = &raw_co_pwritev,
.bdrv_co_pwrite_zeroes = &raw_co_pwrite_zeroes, .bdrv_co_pwrite_zeroes = &raw_co_pwrite_zeroes,
.bdrv_co_pdiscard = &raw_co_pdiscard, .bdrv_co_pdiscard = &raw_co_pdiscard,
.bdrv_co_get_block_status = &raw_co_get_block_status, .bdrv_co_block_status = &raw_co_block_status,
.bdrv_truncate = &raw_truncate, .bdrv_truncate = &raw_truncate,
.bdrv_getlength = &raw_getlength, .bdrv_getlength = &raw_getlength,
.has_variable_length = true, .has_variable_length = true,