]> git.proxmox.com Git - qemu.git/commitdiff
SCSI emulation: Support unmap via WRITE_SAME_10.
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 19 Apr 2012 10:41:16 +0000 (20:41 +1000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Apr 2012 14:16:05 +0000 (16:16 +0200)
This was added in SBC r26 in place of the reserved bits that were
present up to that version.

It is the same as WRITE_SAME_16 as far as QEMU is concerned.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi-disk.c

index fca31fa6e7b5a46e01cbbfd585531d3b6f5d6865..85a75c4b29ff0943b18b2220a52d227bf6aa5d10 100644 (file)
@@ -627,7 +627,7 @@ static int scsi_disk_emulate_inquiry(SCSIRequest *req, uint8_t *outbuf)
         {
             outbuf[3] = buflen = 8;
             outbuf[4] = 0;
-            outbuf[5] = 0x40; /* write same with unmap supported */
+            outbuf[5] = 0x60; /* write_same 10/16 supported */
             outbuf[6] = 0;
             outbuf[7] = 0;
             break;
@@ -1558,10 +1558,11 @@ static int32_t scsi_send_command(SCSIRequest *req, uint8_t *buf)
             goto illegal_lba;
         }
         break;
+    case WRITE_SAME_10:
     case WRITE_SAME_16:
         len = r->req.cmd.xfer / s->qdev.blocksize;
 
-        DPRINTF("WRITE SAME(16) (sector %" PRId64 ", count %d)\n",
+        DPRINTF("WRITE SAME() (sector %" PRId64 ", count %d)\n",
                 r->req.cmd.lba, len);
 
         if (r->req.cmd.lba > s->qdev.max_lba) {