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 <pbonz...@redhat.com>
---
 block.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block.c b/block.c
index c05875f..b9da10e 100644
--- a/block.c
+++ b/block.c
@@ -532,7 +532,7 @@ static int find_image_format(const char *filename, 
BlockDriver **pdrv)
     }
 
     /* 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) {
         bdrv_delete(bs);
         drv = bdrv_find_format("raw");
         if (!drv) {
-- 
1.8.1


Reply via email to