• A
    new scsi-generic abstraction, use SG_IO (Christoph Hellwig) · 221f715d
    aliguori 提交于
    Okay, I started looking into how to handle scsi-generic I/O in the
    new world order.
    
    I think the best is to use the SG_IO ioctl instead of the read/write
    interface as that allows us to support scsi passthrough on disk/cdrom
    devices, too.  See Hannes patch on the kvm list from August for an
    example.
    
    Now that we always do ioctls we don't need another abstraction than
    bdrv_ioctl for the synchronous requests for now, and for asynchronous
    requests I've added a aio_ioctl abstraction keeping it simple.
    
    Long-term we might want to move the ops to a higher-level abstraction
    and let the low-level code fill out the request header, but I'm lazy
    enough to leave that to the people trying to support scsi-passthrough
    on a non-Linux OS.
    
    Tested lightly by issuing various sg_ commands from sg3-utils in a guest
    to a host CDROM device.
    Signed-off-by: NChristoph Hellwig <hch@lst.de>
    Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6895 c046a42c-6fe2-441c-8c8c-71466251a162
    221f715d
block.c 43.7 KB