All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: James Bottomley <jbottomley@parallels.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	linux-scsi@vger.kernel.org, Robert Elliott <elliott@hp.com>,
	Hannes Reinecke <hare@suse.de>
Subject: [PATCH 04/24] scsi: introduce sdev_prefix_printk()
Date: Wed,  1 Oct 2014 08:22:40 +0200	[thread overview]
Message-ID: <1412144580-72880-5-git-send-email-hare@suse.de> (raw)
In-Reply-To: <1412144580-72880-1-git-send-email-hare@suse.de>

Like scmd_printk(), but the device name is passed in as
a string. Can be used by eg ULDs which do not have access
to the scsi_cmnd structure.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
 drivers/scsi/ch.c          | 3 +--
 drivers/scsi/sd.h          | 7 ++++---
 drivers/scsi/sg.c          | 4 ++--
 drivers/scsi/sr.h          | 3 +--
 drivers/scsi/st.c          | 3 +--
 include/scsi/scsi_device.h | 9 +++++++++
 6 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c
index ef5ae0d..52060e7 100644
--- a/drivers/scsi/ch.c
+++ b/drivers/scsi/ch.c
@@ -85,8 +85,7 @@ static const char * vendor_labels[CH_TYPES-4] = {
 // module_param_string_array(vendor_labels, NULL, 0444);
 
 #define ch_printk(prefix, ch, fmt, a...) \
-	sdev_printk(prefix, (ch)->device, "[%s] " fmt, \
-		    (ch)->name, ##a)
+	sdev_prefix_printk(prefix, (ch)->device, (ch)->name, fmt, ##a)
 
 #define DPRINTK(fmt, arg...)						\
 do {									\
diff --git a/drivers/scsi/sd.h b/drivers/scsi/sd.h
index 4c3ab83..c01dc89 100644
--- a/drivers/scsi/sd.h
+++ b/drivers/scsi/sd.h
@@ -103,9 +103,10 @@ static inline struct scsi_disk *scsi_disk(struct gendisk *disk)
 
 #define sd_printk(prefix, sdsk, fmt, a...)				\
         (sdsk)->disk ?							\
-	sdev_printk(prefix, (sdsk)->device, "[%s] " fmt,		\
-		    (sdsk)->disk->disk_name, ##a) :			\
-	sdev_printk(prefix, (sdsk)->device, fmt, ##a)
+	      sdev_prefix_printk(prefix, (sdsk)->device,		\
+				 (sdsk)->disk->disk_name, fmt, ##a) :	\
+	      sdev_prefix_printk(prefix, (sdsk)->device,		\
+				 NULL, fmt, ##a)
 
 #define sd_first_printk(prefix, sdsk, fmt, a...)			\
 	do {								\
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 6035444..c539e2b 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -219,8 +219,8 @@ static void sg_device_destroy(struct kref *kref);
 #define SZ_SG_REQ_INFO sizeof(sg_req_info_t)
 
 #define sg_printk(prefix, sdp, fmt, a...) \
-	sdev_printk(prefix, (sdp)->device, "[%s] " fmt, \
-		    (sdp)->disk->disk_name, ##a)
+	sdev_prefix_printk(prefix, (sdp)->device,		\
+			   (sdp)->disk->disk_name, fmt, ##a)
 
 static int sg_allow_access(struct file *filp, unsigned char *cmd)
 {
diff --git a/drivers/scsi/sr.h b/drivers/scsi/sr.h
index 1d1f6f4..1de3371 100644
--- a/drivers/scsi/sr.h
+++ b/drivers/scsi/sr.h
@@ -57,8 +57,7 @@ typedef struct scsi_cd {
 } Scsi_CD;
 
 #define sr_printk(prefix, cd, fmt, a...) \
-	sdev_printk(prefix, (cd)->device, "[%s] " fmt, \
-		    (cd)->cdi.name, ##a)
+	sdev_prefix_printk(prefix, (cd)->device, (cd)->cdi.name, fmt, ##a)
 
 int sr_do_ioctl(Scsi_CD *, struct packet_command *);
 
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 4daa372..75d191f 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -306,8 +306,7 @@ static inline char *tape_name(struct scsi_tape *tape)
 }
 
 #define st_printk(prefix, t, fmt, a...) \
-	sdev_printk(prefix, (t)->device, "%s: " fmt, \
-		    tape_name(t), ##a)
+	sdev_prefix_printk(prefix, (t)->device, tape_name(t), fmt, ##a)
 #ifdef DEBUG
 #define DEBC_printk(t, fmt, a...) \
 	if (debugging) { st_printk(ST_DEB_MSG, t, fmt, ##a ); }
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index 27ecee7..0b18a09 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -244,6 +244,15 @@ struct scsi_dh_data {
 #define sdev_dbg(sdev, fmt, a...) \
 	dev_dbg(&(sdev)->sdev_gendev, fmt, ##a)
 
+/*
+ * like scmd_printk, but the device name is passed in
+ * as a string pointer
+ */
+#define sdev_prefix_printk(l, sdev, p, fmt, a...)			\
+	(p) ?								\
+	sdev_printk(l, sdev, "[%s] " fmt, p, ##a) :			\
+	sdev_printk(l, sdev, fmt, ##a)
+
 #define scmd_printk(prefix, scmd, fmt, a...)				\
         (scmd)->request->rq_disk ?					\
 	sdev_printk(prefix, (scmd)->device, "[%s] " fmt,		\
-- 
1.8.5.2


  parent reply	other threads:[~2014-10-01  6:23 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-01  6:22 [PATCHv5 00/24] scsi logging update (the boring part) Hannes Reinecke
2014-10-01  6:22 ` [PATCH 01/24] Remove scsi_cmd_print_sense_hdr() Hannes Reinecke
2014-10-01  6:22 ` [PATCH 02/24] sd: Remove scsi_print_sense() in sd_done() Hannes Reinecke
2014-10-01  6:22 ` [PATCH 03/24] aha152x: Debug output update and whitespace cleanup Hannes Reinecke
2014-10-03  0:01   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` Hannes Reinecke [this message]
2014-10-02 18:37   ` [PATCH 04/24] scsi: introduce sdev_prefix_printk() Elliott, Robert (Server Storage)
2014-10-03 16:31     ` Ewan Milne
2014-10-06  6:00       ` Hannes Reinecke
2014-10-01  6:22 ` [PATCH 05/24] scsi: Use sdev as argument for sense code printing Hannes Reinecke
2014-10-03  0:32   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 06/24] acornscsi: use scsi_print_command() Hannes Reinecke
2014-10-01  6:22 ` [PATCH 07/24] fas216: Return DID_ERROR for incomplete data transfer Hannes Reinecke
2014-10-01  7:58   ` Christoph Hellwig
2014-10-01  6:22 ` [PATCH 08/24] fas216: Update logging messages Hannes Reinecke
2014-10-03  0:43   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 09/24] 53c700: remove scsi_print_sense() usage Hannes Reinecke
2014-10-01  6:22 ` [PATCH 10/24] scsi: stop decoding if scsi_normalize_sense() fails Hannes Reinecke
2014-10-01  6:22 ` [PATCH 11/24] scsi: do not decode sense extras Hannes Reinecke
2014-10-01  6:22 ` [PATCH 12/24] scsi: use 'bool' as return value for scsi_normalize_sense() Hannes Reinecke
2014-10-03  1:15   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 13/24] scsi: remove scsi_print_status() Hannes Reinecke
2014-10-01  6:22 ` [PATCH 14/24] Implement scsi_opcode_sa_name Hannes Reinecke
2014-10-03  1:26   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 15/24] scsi: merge print_opcode_name() Hannes Reinecke
2014-10-03  1:37   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 16/24] scsi: consolidate opcode lookup in scsi_opcode_sa_name() Hannes Reinecke
2014-10-03  1:44   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 17/24] scsi: remove last argument from print_opcode_name() Hannes Reinecke
2014-10-03  2:02   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 18/24] scsi: Remove scsi_print_command when calling abort Hannes Reinecke
2014-10-03  2:11   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 19/24] scsi: separate out scsi_(host|driver)byte_string() Hannes Reinecke
2014-10-01  6:22 ` [PATCH 20/24] sd: Cleanup logging Hannes Reinecke
2014-10-02 23:20   ` Elliott, Robert (Server Storage)
2014-10-03  2:23   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 21/24] scsi: simplify scsi_log_(send|completion) Hannes Reinecke
2014-10-03  2:32   ` Elliott, Robert (Server Storage)
2014-10-06  6:40     ` Hannes Reinecke
2014-10-01  6:22 ` [PATCH 22/24] scsi: fixup logging messages in scsi_error.c Hannes Reinecke
2014-10-02 19:02   ` Ewan Milne
2014-10-03  2:39   ` Elliott, Robert (Server Storage)
2014-10-01  6:22 ` [PATCH 23/24] scsi: use shost argument in scsi_eh_prt_fail_stats Hannes Reinecke
2014-10-01  6:23 ` [PATCH 24/24] scsi_error: document scsi_try_to_abort_cmd Hannes Reinecke
2014-10-01  7:59   ` Christoph Hellwig
2014-10-03  2:54   ` Elliott, Robert (Server Storage)
2014-10-02 18:53 ` [PATCHv5 00/24] scsi logging update (the boring part) Elliott, Robert (Server Storage)
2014-10-03  7:08   ` Hannes Reinecke

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=1412144580-72880-5-git-send-email-hare@suse.de \
    --to=hare@suse.de \
    --cc=elliott@hp.com \
    --cc=hch@infradead.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.