linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: James Bottomley <jbottomley@parallels.com>
Cc: Christoph Hellwig <hch@lst.de>,
	linux-scsi@vger.kernel.org, Hannes Reinecke <hare@suse.de>
Subject: [PATCHv4 0/9] scsi logging update: the real thing
Date: Thu,  8 Jan 2015 07:43:41 +0100	[thread overview]
Message-ID: <1420699430-9492-1-git-send-email-hare@suse.de> (raw)

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.

Thanks go to Stephen Rostedt who suffered my annoying questions
during LPC.

Changes to v3:
- Update to scsi-for-3.20 tree
- Drop upstreamed patches

Changes to v2:
- Include reviews and suggestions from Robert Elliott

Hannes Reinecke (9):
  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()
  scsi_error: do not display kernel pointer in message logs

 drivers/ata/libata-eh.c     |  17 +-
 drivers/scsi/Kconfig        |   4 +-
 drivers/scsi/Makefile       |   6 +-
 drivers/scsi/ch.c           |   6 +-
 drivers/scsi/constants.c    | 247 +---------------------
 drivers/scsi/scsi.c         |  11 +-
 drivers/scsi/scsi_error.c   |  49 ++---
 drivers/scsi/scsi_logging.c | 489 ++++++++++++++++++++++++++++++++++++++++++++
 drivers/scsi/sd.c           |   7 +-
 drivers/scsi/sr_ioctl.c     |  13 +-
 drivers/scsi/ufs/ufshcd.c   |   6 +-
 drivers/xen/xen-scsiback.c  |   1 +
 include/scsi/scsi.h         |   3 +
 include/scsi/scsi_dbg.h     |  74 ++++++-
 include/scsi/scsi_device.h  |  21 +-
 15 files changed, 624 insertions(+), 330 deletions(-)
 create mode 100644 drivers/scsi/scsi_logging.c

-- 
1.8.4.5


             reply	other threads:[~2015-01-08  6:44 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-08  6:43 Hannes Reinecke [this message]
2015-01-08  6:43 ` [PATCH 1/9] scsi: Implement per-cpu logging buffer Hannes Reinecke
2015-01-13 18:41   ` James Bottomley
2015-01-08  6:43 ` [PATCH 2/9] scsi: log request tag for scmd_printk() Hannes Reinecke
2015-01-08  6:43 ` [PATCH 3/9] scsi: use external buffer for command logging Hannes Reinecke
2015-01-13 18:56   ` James Bottomley
2015-01-14  9:36     ` hch
2015-01-14 15:24       ` James Bottomley
2015-01-08  6:43 ` [PATCH 4/9] libata: use __scsi_format_command() Hannes Reinecke
2015-01-08  6:43 ` [PATCH 5/9] scsi: use per-cpu buffer for formatting sense Hannes Reinecke
2015-01-08  6:43 ` [PATCH 6/9] scsi: use per-cpu buffer for formatting scsi_print_result() Hannes Reinecke
2015-01-08  6:43 ` [PATCH 7/9] scsi: Conditionally compile in constants.c Hannes Reinecke
2015-01-08  6:43 ` [PATCH 8/9] scsi: Do not display buffer pointers in scsi_log_send() Hannes Reinecke
2015-01-08  6:43 ` [PATCH 9/9] scsi_error: do not display kernel pointer in message logs Hannes Reinecke
2015-01-10 19:17   ` Elliott, Robert (Server Storage)
2015-01-11 18:39     ` Douglas Gilbert
2015-01-12 13:12   ` Ewan Milne
2015-01-12 13:29     ` Hannes Reinecke
2015-01-12 14:57       ` Ewan Milne
2015-01-12 15:18         ` Ewan Milne
2015-01-10 18:01 ` [PATCHv4 0/9] scsi logging update: the real thing Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1420699430-9492-1-git-send-email-hare@suse.de \
    --to=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jbottomley@parallels.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).