On Fri, Apr 15, 2011 at 3:17 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > On 04/15/2011 04:01 PM, Stefan Hajnoczi wrote: >> >> I think SCSI brings many benefits. Guests can deal with it better >> than these alien vdX virtio-blk devices, which makes migration easier. >> It becomes possible to attach many disks without burning through free >> PCI slots. We don't need to update guests to add cache control, >> discard, and other commands because they are part of SCSI. We can >> pass through more exotic devices. The list goes on... > > And we also have to reimplement all of MMC. :) > > A few questions: > > 1) Do you have anything posted for the virtio-scsi spec? I had started > working on one, but I haven't yet made it final. It included also > hotplug/unplug. I can send it out on Monday.
Nothing formal. I'm trying to learn SCSI as I go along: http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=blob;f=include/linux/virtio_scsi.h;hb=refs/heads/tcm_vhost That's the interface I'm using. Requests are: [Header][CDB][Data-out buffers*][Data-in buffers*][Footer] The footer gets filled in with the response. > 2) Have you thought about making scsi-disk and scsi-generic provide a > logical unit rather than a target? Otherwise passthrough of a whole host or > target becomes hard or messy. I haven't been working at the QEMU SCSI bus level. I want to wire up the Linux-iSCSI.org target stack straight to the guest. This bypasses the QEMU SCSI and block layers completely. I agree that the BlockDriverState in QEMU is more of a LUN than a target and passing through multiple block devices as LUNs should be possible. So we probably need to restructure as you suggested and/or provide an indirection for LUN mapping. Stefan