summaryrefslogtreecommitdiffstats
path: root/block.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-01-10 15:39:27 +0100
committerKevin Wolf <kwolf@redhat.com>2013-01-14 10:06:56 +0100
commit8e895599a1beb250ebca00e83b5fae6a828d2171 (patch)
treeed9225cdb7e270d97a3a7ac9b96767fe17bf18d7 /block.c
parent63fb2590839162afdf14d7c0ee02d460766c0956 (diff)
downloadhqemu-8e895599a1beb250ebca00e83b5fae6a828d2171.zip
hqemu-8e895599a1beb250ebca00e83b5fae6a828d2171.tar.gz
block: do not probe zero-sized disks
A blank CD or DVD is visible as a zero-sized disks. Probing such disks will lead to an EIO and a failure to start the VM. Treating them as raw is a better solution. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r--block.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block.c b/block.c
index 60873ea..14f8202 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;
OpenPOWER on IntegriCloud