]> git.proxmox.com Git - mirror_qemu.git/blobdiff - hw/scsi/scsi-disk.c
scsi-disk: bdrv_attach_dev() for empty CD-ROM
[mirror_qemu.git] / hw / scsi / scsi-disk.c
index a53f058621977da911fad480470d349eacb96818..5f1e5e80703d5d44901051a8522b7ae06396031c 100644 (file)
@@ -2384,9 +2384,14 @@ static void scsi_hd_realize(SCSIDevice *dev, Error **errp)
 static void scsi_cd_realize(SCSIDevice *dev, Error **errp)
 {
     SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev);
+    int ret;
 
     if (!dev->conf.blk) {
+        /* Anonymous BlockBackend for an empty drive. As we put it into
+         * dev->conf, qdev takes care of detaching on unplug. */
         dev->conf.blk = blk_new(0, BLK_PERM_ALL);
+        ret = blk_attach_dev(dev->conf.blk, &dev->qdev);
+        assert(ret == 0);
     }
 
     s->qdev.blocksize = 2048;