Re: [PATCH v14 10/19] scsi: core: Retry unaligned zoned writes

Bart Van Assche
2023-10-25T19:28:58Z

On 10/25/23 00:25, Damien Le Moal wrote:
> On 10/25/23 02:22, Bart Van Assche wrote:
>> On 10/23/23 17:13, Damien Le Moal wrote:
>>> On 10/24/23 06:54, Bart Van Assche wrote:
>>>> case ILLEGAL_REQUEST:
>>>> + /*
>>>> + * Unaligned write command. This may indicate that zoned writes
>>>> + * have been received by the device in the wrong order. If zone
>>>> + * write locking is disabled, retry after all pending commands
>>>> + * have completed.
>>>> + */
>>>> + if (sshdr.asc == 0x21 && sshdr.ascq == 0x04 &&
>>>> + !req->q->limits.use_zone_write_lock &&
>>>> + blk_rq_is_seq_zoned_write(req) &&
>>>> + scmd->retries <= scmd->allowed) {
>>>> + sdev_printk(KERN_INFO, scmd->device,
>>>> + "Retrying unaligned write at LBA %#llx.\n",
>>>> + scsi_get_lba(scmd));
>>>
>>> KERN_INFO ? Did you perhaps mean KERN_DEBUG ? An info message for this will be
>>> way too noisy.
>>
>> Hi Damien,
>>
>> Are you sure that KERN_INFO will be too noisy? On our test setups we see
>> this message less than once a day. Anyway, I will change the severity level.
>
> I am not sure. But better safe than sorry :)
>
> So given that we should not scare the user with errors that are not errors (as
> the next tries will succeed), we should be silent and log a message only if the
> retry count is exhausted and we still see a failure.

Hi Damien,

I will wrap SCSI_LOG_ERROR_RECOVERY(1, ...) around the above
sdev_printk() call. As you probably know SCSI logging is disabled by
default.

Thanks,

Bart.