scsi: core: avoid repetitive logging of device offline messages
authorEwan D. Milne <emilne@redhat.com>
Wed, 11 Mar 2020 14:39:30 +0000 (10:39 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 12 Mar 2020 03:09:27 +0000 (23:09 -0400)
commitb0962c53bde9a485c8ebc401fa1dbe821a76bc3e
treed213766f82a9f2647832fab78c4f980e1bae96a3
parentdade67f4a5277b3dbb375e537f088ee4a8e8bf4e
scsi: core: avoid repetitive logging of device offline messages

Large queues of I/O to offline devices that are eventually submitted when
devices are unblocked result in a many repeated "rejecting I/O to offline
device" messages.  These messages can fill up the dmesg buffer in crash
dumps so no useful prior messages remain.  In addition, if a serial console
is used, the flood of messages can cause a hard lockup in the console code.

Introduce a flag indicating the message has already been logged for the
device, and reset the flag when scsi_device_set_state() changes the device
state.

Link: https://lore.kernel.org/r/20200311143930.20674-1-emilne@redhat.com
Reviewed-by: Bart van Assche <bvanassche@acm.org>
Signed-off-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_lib.c
include/scsi/scsi_device.h