|
|
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 |
|