On Thu, Jan 10, 2013 at 03:39:27PM +0100, Paolo Bonzini wrote: > 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 <[email protected]> > --- > 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) {
Looks good but I wouldn't understand the reason for the zero size check when reading the code. Please add a comment so no one changes/removes this code in the future. Stefan
