Re: [PATCH 1/2] [SCSI] Print only a single message "rejecting I/O to device being removed"

Jens Axboe
2006-11-03T12:28:05Z

On Fri, Nov 03 2006, Luben Tuikov wrote:
> ... at device removal.
>
> Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
> ---
> drivers/scsi/scsi_lib.c | 10 +++++++---
> drivers/scsi/scsi_scan.c | 1 +
> include/scsi/scsi_device.h | 3 +++
> 3 files changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
> index 7b0f9a3..f0de7ca 100644
> --- a/drivers/scsi/scsi_lib.c
> +++ b/drivers/scsi/scsi_lib.c
> @@ -1302,9 +1302,13 @@ static int scsi_prep_fn(struct request_q
> if(specials_only == SDEV_QUIESCE ||
> specials_only == SDEV_BLOCK)
> goto defer;
> -
> - sdev_printk(KERN_ERR, sdev,
> - "rejecting I/O to device being removed\n");
> +
> + if (sdev->num_rej_messages > 0) {
> + sdev->num_rej_messages--;
> + sdev_printk(KERN_ERR, sdev,
> + "rejecting I/O to device "
> + "being removed\n");
> + }

How about using some variant of printk_ratelimit() instead?

--
Jens Axboe