Blame 0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch

5544c1
From 8444d4c996120a2fc21547a784c258e639f1e8fb Mon Sep 17 00:00:00 2001
5544c1
From: Ronnie Sahlberg <ronniesahlberg@gmail.com>
5544c1
Date: Fri, 14 Sep 2012 18:13:29 -0700
5544c1
Subject: [PATCH] SCSI: Standard INQUIRY data should report HiSup flag as set.
5544c1
5544c1
QEMU as far as I know only reports LUN numbers using the modes that
5544c1
are described in SAM4.
5544c1
As such, since all LUN numbers generated by the SCSI emulation in QEMU
5544c1
follow SAM4, we should set the HiSup bit in the standard INQUIRY data
5544c1
to indicate such.
5544c1
5544c1
From SAM4:
5544c1
  4.6.3 LUNs overview
5544c1
  All LUN formats described in this standard are hierarchical in
5544c1
  structure even when only a single level in that hierarchy is used.
5544c1
  The HISUP bit shall be set to one in the standard INQUIRY data
5544c1
  (see SPC-4) when any LUN format described in this standard is used.
5544c1
  Non-hierarchical formats are outside the scope of this standard.
5544c1
5544c1
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
5544c1
(cherry picked from commit 1109c894052751df99962c009fd7dbae397721f5)
5544c1
5544c1
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
5544c1
---
5544c1
 hw/scsi-disk.c | 2 +-
5544c1
 1 file changed, 1 insertion(+), 1 deletion(-)
5544c1
5544c1
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
5544c1
index d621852..7ed1bde 100644
5544c1
--- a/hw/scsi-disk.c
5544c1
+++ b/hw/scsi-disk.c
5544c1
@@ -678,7 +678,7 @@ static int scsi_disk_emulate_inquiry(SCSIRequest *req, uint8_t *outbuf)
5544c1
      * is actually implemented, but we're good enough.
5544c1
      */
5544c1
     outbuf[2] = 5;
5544c1
-    outbuf[3] = 2; /* Format 2 */
5544c1
+    outbuf[3] = 2 | 0x10; /* Format 2, HiSup */
5544c1
 
5544c1
     if (buflen > 36) {
5544c1
         outbuf[4] = buflen - 5; /* Additional Length = (Len - 1) - 4 */
5544c1
-- 
5544c1
1.7.12.1
5544c1