X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=block%2Fraw_bsd.c;h=2265dcc03faf033d3fbe7d9609ba7598db803c06;hb=8b7acc79b9adb4dda6cc867b90e3a1e873f4f7e8;hp=d4ace6020b956b6c48b9ff145b7ec06d81796d5b;hpb=eb322b8155120166fa259a8e96040f76ba4fde64;p=qemu.git diff --git a/block/raw_bsd.c b/block/raw_bsd.c index d4ace6020..2265dcc03 100644 --- a/block/raw_bsd.c +++ b/block/raw_bsd.c @@ -62,7 +62,9 @@ static int64_t coroutine_fn raw_co_get_block_status(BlockDriverState *bs, int64_t sector_num, int nb_sectors, int *pnum) { - return bdrv_get_block_status(bs->file, sector_num, nb_sectors, pnum); + *pnum = nb_sectors; + return BDRV_BLOCK_RAW | BDRV_BLOCK_OFFSET_VALID | BDRV_BLOCK_DATA | + (sector_num << BDRV_SECTOR_BITS); } static int coroutine_fn raw_co_write_zeroes(BlockDriverState *bs, @@ -138,8 +140,7 @@ static int raw_create(const char *filename, QEMUOptionParameter *options, ret = bdrv_create_file(filename, options, &local_err); if (error_is_set(&local_err)) { - qerror_report_err(local_err); - error_free(local_err); + error_propagate(errp, local_err); } return ret; } @@ -177,6 +178,7 @@ static BlockDriver bdrv_raw = { .bdrv_co_get_block_status = &raw_co_get_block_status, .bdrv_truncate = &raw_truncate, .bdrv_getlength = &raw_getlength, + .has_variable_length = true, .bdrv_get_info = &raw_get_info, .bdrv_is_inserted = &raw_is_inserted, .bdrv_media_changed = &raw_media_changed,