Hi all, this is the second part of my scsi logging update, covering CDB and sense code printing. With this patchset CDBs and sense code bytes will be formatted on a single line (where possible), and prefixed with the device and command tag. To ensure CDBs and sense code bytes are not broken up during printk I've implemented a per-cpu buffer for formatting messages. One can allocate a chunk from the buffer using scsi_log_reserve_buffer() and return it via scsi_log_release_buffer(). Both function do an implicit preempt_disable() / preempt_enable() to ensure we're not scheduled away from that cpu whilst writing into the buffer. With that I've been able to clean up constants.c to remove all the #ifdef CONFIG_SCSI_CONSTANTS statements. It'll now be compiled in conditionally if CONFIG_SCSI_CONSTANTS is set. Additionally I've updated the SCSI command definitions to SPC-3. Thanks go to Stephen Rostedt who suffered my annoying questions during LPC. Changes to v1: - Reshuffled patches to have SCSI command definition updates first - Added Reviewed-by: tags where appropriate - Implemented scmd_namd() helper as suggested by hch - Dropped buffer pointer logging in scsi_log_send() - Updated description for per-cpu logging buffer patch Hannes Reinecke (10): scsi: Rename SERVICE_ACTION_IN to SERVICE_ACTION_IN_16 scsi: Add SPC-3 command definitions scsi: Implement per-cpu logging buffer scsi: log request tag for scmd_printk() scsi: use external buffer for command logging libata: use __scsi_format_command() scsi: use per-cpu buffer for formatting sense scsi: use per-cpu buffer for formatting scsi_print_result() scsi: Conditionally compile in constants.c scsi: Do not display buffer pointers in scsi_log_send() block/scsi_ioctl.c | 2 +- drivers/ata/libata-eh.c | 13 +- drivers/ata/libata-scsi.c | 2 +- drivers/block/nvme-scsi.c | 4 +- drivers/scsi/Makefile | 6 +- drivers/scsi/aacraid/aachba.c | 4 +- drivers/scsi/aacraid/linit.c | 2 +- drivers/scsi/ch.c | 6 +- drivers/scsi/constants.c | 250 +--------------- drivers/scsi/gdth.c | 4 +- drivers/scsi/scsi.c | 11 +- drivers/scsi/scsi_debug.c | 2 +- drivers/scsi/scsi_logging.c | 444 +++++++++++++++++++++++++++++ drivers/scsi/scsi_trace.c | 2 +- drivers/scsi/sd.c | 9 +- drivers/scsi/sr_ioctl.c | 13 +- drivers/scsi/ufs/ufshcd.c | 6 +- drivers/target/target_core_alua.c | 2 +- drivers/target/target_core_pr.c | 2 +- drivers/target/target_core_sbc.c | 2 +- drivers/usb/gadget/legacy/tcm_usb_gadget.c | 2 +- drivers/xen/xen-scsiback.c | 1 + include/scsi/scsi.h | 11 +- include/scsi/scsi_dbg.h | 72 ++++- include/scsi/scsi_device.h | 21 +- include/trace/events/scsi.h | 2 +- include/trace/events/target.h | 2 +- tools/lib/traceevent/plugin_scsi.c | 9 +- 28 files changed, 584 insertions(+), 322 deletions(-) create mode 100644 drivers/scsi/scsi_logging.c -- 1.8.5.2 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html