[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 06/14] scsi: Print command name in debug
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 06/14] scsi: Print command name in debug |
Date: |
Wed, 18 Jun 2014 15:26:46 +0200 |
From: Alexey Kardashevskiy <address@hidden>
This makes scsi_command_name() public.
This makes use of scsi_command_name() in debug output for scsi-disk and
spapr-vscsi host bus adapter. Before this, SCSI used to print hex numbers
instead of human-friendly strings.
This adds GET_EVENT_STATUS_NOTIFICATION and READ_DISC_INFORMATION to
the list of SCSI commands supported by scsi_command_name().
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/scsi/scsi-bus.c | 4 +++-
hw/scsi/scsi-disk.c | 3 ++-
hw/scsi/spapr_vscsi.c | 5 +++--
include/block/scsi.h | 2 ++
4 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 003d284..ea1ac09 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -1429,7 +1429,7 @@ int scsi_build_sense(uint8_t *in_buf, int in_len,
}
}
-static const char *scsi_command_name(uint8_t cmd)
+const char *scsi_command_name(uint8_t cmd)
{
static const char *names[] = {
[ TEST_UNIT_READY ] = "TEST_UNIT_READY",
@@ -1545,6 +1545,8 @@ static const char *scsi_command_name(uint8_t cmd)
[ SET_READ_AHEAD ] = "SET_READ_AHEAD",
[ ALLOW_OVERWRITE ] = "ALLOW_OVERWRITE",
[ MECHANISM_STATUS ] = "MECHANISM_STATUS",
+ [ GET_EVENT_STATUS_NOTIFICATION ] = "GET_EVENT_STATUS_NOTIFICATION",
+ [ READ_DISC_INFORMATION ] = "READ_DISC_INFORMATION",
};
if (cmd >= ARRAY_SIZE(names) || names[cmd] == NULL)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index fd82a41..a529ad2 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2027,7 +2027,8 @@ static int32_t scsi_disk_emulate_command(SCSIRequest
*req, uint8_t *buf)
(long)r->req.cmd.xfer);
break;
default:
- DPRINTF("Unknown SCSI command (%2.2x)\n", buf[0]);
+ DPRINTF("Unknown SCSI command (%2.2x=%s)\n", buf[0],
+ scsi_command_name(buf[0]));
scsi_check_condition(r, SENSE_CODE(INVALID_OPCODE));
return 0;
}
diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
index f96b7af..048cfc7 100644
--- a/hw/scsi/spapr_vscsi.c
+++ b/hw/scsi/spapr_vscsi.c
@@ -799,8 +799,9 @@ static int vscsi_queue_cmd(VSCSIState *s, vscsi_req *req)
req->sreq = scsi_req_new(sdev, req->qtag, lun, srp->cmd.cdb, req);
n = scsi_req_enqueue(req->sreq);
- DPRINTF("VSCSI: Queued command tag 0x%x CMD 0x%x LUN %d ret: %d\n",
- req->qtag, srp->cmd.cdb[0], lun, n);
+ DPRINTF("VSCSI: Queued command tag 0x%x CMD 0x%x=%s LUN %d ret: %d\n",
+ req->qtag, srp->cmd.cdb[0], scsi_command_name(srp->cmd.cdb[0]),
+ lun, n);
if (n) {
/* Transfer direction must be set before preprocessing the
diff --git a/include/block/scsi.h b/include/block/scsi.h
index 9ab045b..edde960 100644
--- a/include/block/scsi.h
+++ b/include/block/scsi.h
@@ -143,6 +143,8 @@
#define READ_CD 0xbe
#define SEND_DVD_STRUCTURE 0xbf
+const char *scsi_command_name(uint8_t cmd);
+
/*
* SERVICE ACTION IN subcodes
*/
--
1.8.3.1
- [Qemu-devel] [PULL 00/14] SCSI changes for 2014-06-18, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 01/14] block/iscsi: handle BUSY condition, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 02/14] block/iscsi: fix potential segfault on early callback, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 03/14] block/iscsi: use 16 byte CDBs only when necessary, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 04/14] scsi-disk.c: Fix compilation with -DDEBUG_SCSI, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 05/14] scsi-disk: fix bug in scsi_block_new_request() introduced by commit 137745c, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 06/14] scsi: Print command name in debug,
Paolo Bonzini <=
- [Qemu-devel] [PULL 07/14] megasas: use PCI DMA API, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 08/14] util: add return value to qemu_iovec_concat_iov, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 09/14] virtio-scsi: start preparing for any_layout, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 10/14] virtio-scsi: add target swap for VirtIOSCSICtrlTMFReq fields, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 12/14] virtio-scsi: prepare sense data handling for any_layout, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 11/14] virtio-scsi: add extra argument and return type to qemu_sgl_concat, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 13/14] virtio-scsi: introduce virtio_scsi_complete_cmd_req, Paolo Bonzini, 2014/06/18
- [Qemu-devel] [PULL 14/14] virtio-scsi: add support for the any_layout feature, Paolo Bonzini, 2014/06/18
- Re: [Qemu-devel] [PULL 00/14] SCSI changes for 2014-06-18, Peter Maydell, 2014/06/18