Hi, since i had to give up the plan to test BD burning, i now post the first summary of passthrough testing on base of if=scsi .
Next i will try to follow Paolo Bonzini's proposal to use if=virtio. ------------------------------------------------------------------------- List of successes and failures with various CD and DVD use cases on an internal SATA drive at host Debian 6.0.2 Linux ... 2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC 2011 x86_64 with guest Debian 6.0.3 Linux ... 2.6.32-5-686 #1 SMP Mon Oct 3 04:15:24 UTC 2011 i686 qemu source is a git clone obtained on November 2 by git clone git://git.qemu.org/qemu.git File VERSION has date Nov 2 13:41 (+0100) $ cat VERSION 0.15.90 $ git describe fatal: No annotated tags can describe 'e072ea2fd8fdceef64159b9596d3c15ce01bea91'. However, there were unannotated tags: try --tags. $ git describe --tags v1.0-rc0 qemu start: .../x86_64-softmmu/qemu-system-x86_64 \ -L .../pc-bios \ -enable-kvm \ -nographic \ -m 512 \ -net nic,model=ne2k_pci \ -net user,hostfwd=tcp::5557-:22 \ -hda /dvdbuffer/i386-install.qemu \ -drive file=/dev/sg2,if=scsi \ -cdrom /dvdbuffer/pseudo_drive ------------------------------------------------------------------------- Successes: All media types Tray loading and ejecting. CD-RW (and most probably CD-R) Writing a session with a single track with write type TAO. As first session and as add-on session. DVD+RW Writing if SET STREAMING is omitted. DVD-RW (and most probably DVD-R) Write type Incremental (aka Packet) if SET STREAMING is omitted. Blanking. Writing to thoroughly formatted DVD-RW if SET STREAMING is omitted. DVD+R Writing sessions without using RESERVE TRACK, if SET STREAMING is omitted. Closing of medium. ------------------------------------------------------------------------- Failures: I count and classify them by these poetic category names: 1 HOST CRASHER kernel Oops and crash of the host system 2 DRIVE FREEZER makes the drive unusable on the host until host reboot 4 GUEST KILLER makes guest freeze or qemu abort 1 MEDIUM KILLER makes medium unusable (at least for current libburn) 2 SHOWSTOPPER prevents usage of drive or medium 2 ANNOYING severely hampers usage of medium 1 UGLY deprives user of less important information USB attached drive * HOST CRASHER * SHOWSTOPPER An USB attached drive does not perform any SCSI command, qemu ioctl() gets "No such device", host gets kernel Oops when guest is shut down, host shell sessions are frozen until hardware reset button. CD-RW (and most probably CD-R) * DRIVE FREEZER * GUEST KILLER Writing a first session to blank media with write type SAO. The guest freezes. The drive gets unusable by the host system until host reboot. SEND CUE SHEET 5d 00 00 00 00 00 00 00 20 00 To drive: 32b 41 00 00 01 00 00 00 00 41 01 00 10 00 00 00 00 41 01 01 10 00 00 02 00 41 aa 01 01 00 00 35 30 DVD in general * DRIVE FREEZER * GUEST KILLER Guest freezes, qemu goes to 100% CPU, after SET STREAMING b6 00 00 00 00 00 00 00 00 00 1c 00 To drive: 28b 00 00 00 00 00 00 00 00 00 23 04 88 10 00 00 00 00 00 03 e8 10 00 00 00 00 00 03 e8 The drive is unusable by the host afterwards * ANNOYING Guest SG_IO timeout with READ DISC STRUCTURE formats 0x04 , 0x11 , 0x0e , 0x10. READ DISC STRUCTURE ad 00 00 00 00 00 00 04 00 04 00 00 READ DISC STRUCTURE ad 00 00 00 00 00 00 11 00 04 00 00 READ DISC STRUCTURE ad 00 00 00 00 00 00 0e 00 04 00 00 READ DISC STRUCTURE ad 00 00 00 00 00 00 10 00 04 00 00 DVD+RW * SHOWSTOPPER Failure to write to unformatted or partly formatted DVD+RW. FORMAT UNIT 04 11 00 00 00 00 To drive: 12b 00 02 00 08 ff ff ff ff 98 00 00 00 +++ sense data = F0 00 0B 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 +++ key=B asc=00h ascq=00h ( 488 ms) DVD-RW * GUEST KILLER Guest freezes with DVD-RW write type DAO. qemu is on 100 % CPU. Most probably after RESERVE TRACK, although this command is not shown by the SCSI log. But the command before it is shown and the medium has inconsistent knowledge of the desired track size. * ANNOYING Failure to format sequential DVD-RW, and to write to partially formatted DVD-RW. * UGLY Failure to deliver progress of Blanking DVD-RW via REQUEST SENSE. REQUEST SENSE 03 00 00 00 12 00 From drive: 18b f0 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 0 ms TEST UNIT READY delivers the desired information. DVD+R * GUEST KILLER * MEDIUM KILLER Guest freezes, medium has unwritten open reserved track after RESERVE TRACK 53 00 00 00 00 00 00 0f 30 00 ------------------------------------------------------------------------- Proposals: Mode page 2A of emulated ATAPI DVD-ROM should have page length 0x14 like SCSI CD-ROM, rather than 0x12. (Just add two 0-bytes to its end and adkust the size dependent fields.) MODE SENSE(6) should be thrown out of ATAPI DVD-ROM emulation. Its implementation is wrong. It is not specified in the ATAPI list of MMC-2. MMC-5 prescribes to use MODE SENSE(10). Let passthrough operate on /dev/sr too. Using /dev/sg as superuser makes the hard disk prone to be used as qemu -drive by mistake of the user. ------------------------------------------------------------------------- Have a nice day :) Thomas