From: Douglas Gilbert <dougg@torque.net>
To: Andi Kleen <ak@suse.de>
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Only print SCSI data direction warning once for a command
Date: Tue, 15 Jan 2008 00:02:57 -0500 [thread overview]
Message-ID: <478C3E81.3020007@torque.net> (raw)
In-Reply-To: <200801131741.43173.ak@suse.de>
Andi Kleen wrote:
>> to the log because they come from printk_ratelimit(). So all you've
>> done is halved the volume of flow to the logs and left a dangling printk
>> suppressed message that keeps spewing, so I don't think the patch even
>> does what you describe it as doing ... if you reverse the order of the
>> operands in the if() it will ...
>
> Here's an updated patch with the reversed order.
>
> -Andi
>
> ---
>
> Only print SCSI data direction warning once for a command v2
>
> When I use cdparanoia my logs get spammed a lot by
>
> printk: 464 messages suppressed.
> sg_write: data in/out 30576/30576 bytes for SCSI command 0xbe--guessing data in;
> program cdparanoia not setting count and/or reply_len properly
> printk: 1078 messages suppressed.
>
> and many more of those. With this patch the message is only printed once
> for a command in a row.
>
> v1->v2: Prevent rate limit messages too (pointed out by jejb)
>
> Signed-off-by: Andi Kleen <ak@suse.de>
>
> ---
> drivers/scsi/sg.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> Index: linux/drivers/scsi/sg.c
> ===================================================================
> --- linux.orig/drivers/scsi/sg.c
> +++ linux/drivers/scsi/sg.c
> @@ -602,8 +602,9 @@ sg_write(struct file *filp, const char _
> * but is is possible that the app intended SG_DXFER_TO_DEV, because there
> * is a non-zero input_size, so emit a warning.
> */
> - if (hp->dxfer_direction == SG_DXFER_TO_FROM_DEV)
> - if (printk_ratelimit())
> + if (hp->dxfer_direction == SG_DXFER_TO_FROM_DEV) {
> + static char cmd[TASK_COMM_LEN];
> + if (strcmp(current->comm, cmd) && printk_ratelimit()) {
> printk(KERN_WARNING
> "sg_write: data in/out %d/%d bytes for SCSI command 0x%x--"
> "guessing data in;\n" KERN_WARNING " "
> @@ -611,6 +612,9 @@ sg_write(struct file *filp, const char _
> old_hdr.reply_len - (int)SZ_SG_HEADER,
> input_size, (unsigned int) cmnd[0],
> current->comm);
> + strcpy(cmd, current->comm);
> + }
> + }
> k = sg_common_write(sfp, srp, cmnd, sfp->timeout, blocking);
> return (k < 0) ? k : count;
> }
>
>
Signed-off-by: Douglas Gilbert <dougg@torque.net>
prev parent reply other threads:[~2008-01-15 5:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-02 6:03 [PATCH] Only print SCSI data direction warning once for a command Andi Kleen
2008-01-12 19:36 ` James Bottomley
2008-01-13 16:41 ` Andi Kleen
2008-01-15 5:02 ` Douglas Gilbert [this message]
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=478C3E81.3020007@torque.net \
--to=dougg@torque.net \
--cc=James.Bottomley@hansenpartnership.com \
--cc=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
--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.