diff --git a/block.c b/block.c index 60873eafeaee6a791ab734854dce5d0a0763773c..14f82020ed48a16c3bf7aaddd7dca672d114ad2b 100644 --- a/block.c +++ b/block.c @@ -527,7 +527,7 @@ static int find_image_format(BlockDriverState *bs, const char *filename, int ret = 0; /* Return the raw BlockDriver * to scsi-generic devices or empty drives */ - if (bs->sg || !bdrv_is_inserted(bs)) { + if (bs->sg || !bdrv_is_inserted(bs) || bdrv_getlength(bs) == 0) { drv = bdrv_find_format("raw"); if (!drv) { ret = -ENOENT;