1. 25 10月, 2008 12 次提交
  2. 24 10月, 2008 5 次提交
  3. 23 10月, 2008 8 次提交
  4. 22 10月, 2008 5 次提交
  5. 21 10月, 2008 7 次提交
  6. 18 10月, 2008 2 次提交
  7. 17 10月, 2008 1 次提交
    • A
      scsi-generic: correct error management · 89c0f643
      aurel32 提交于
      this patch allows to fully use a tape device connected to qemu through
      the scsi-generic interface.
      
      Previous patch introduced tape SCSI commands management, this one
      improve error case management:
      
      - the SCSI controller command completion must be called with the status
      value, not the sense value. In the case of scsi-generic, the SCSI status
      is given by the field status of sg_io_hdr_t (the value is left shifted
      by one regarding status codes defined in /usr/include/scsi/scsi.h)
      
      - when a read is aborted due to a mark/EOF/EOD/EOM, the len reported to
      controller can be 0. LSI controller emulation doesn't know how to manage
      this. A workaround found is to call the completion routine with
      SCSI_REASON_DONE just after calling it with SCSI_REASON_DATA with len=0.
      
      This patch also manages correctly the block size of the tape device.
      
      This patch has been tested with a real tape device "HP C5683A", linux
      guest (debian etch) and tools like "mt", "tar" and "btape".
      
      Windows guest is not better supported than before...
      Signed-off-by: NLaurent Vivier <Laurent.Vivier@bull.net>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5497 c046a42c-6fe2-441c-8c8c-71466251a162
      89c0f643