> The SCSI PRE-FETCH (10 or 16) command is present both on hard disks
> and some SSDs. It is useful when the address of the next block(s) to
> be read is known but it is not following the LBA of the current READ
> (so read-ahead won't help). It returns two "good" SCSI Status values.
> If the requested blocks have fitted (or will most likely fit (when
> the IMMED bit is set)) into the disk's cache, it returns CONDITION
> MET. If it didn't (or will not) fit then it returns GOOD status.
> The goal of this patch is to stop the SCSI subsystem treating the
> CONDITION MET SCSI status as an error. The current state makes the
> PRE-FETCH command effectively unusable via pass-throughs.

Next time, commentary and changelog needs to go after the "---"

> A cleanup of the scsi_io_completion() function in scsi_lib.c has
> been moved out of this patch to its own patchset titled:
> "scsi_io_completion cleanup".
> ChangeLog to v4 (removing work done in v3 and v2, leaving):
>   - expand scsi_status_is_good() to check for CONDITION MET
>   - add another corner case in scsi_io_completion() adjacent
>     to the one for the RECOVERED ERROR sense key case. That
>     is another "non-error"
> Signed-off-by: Douglas Gilbert <>
> ---

<< Here

>  drivers/scsi/scsi_lib.c | 11 +++++++++++
>  include/scsi/scsi.h     |  2 ++
>  2 files changed, 13 insertions(+)

Applied to 4.17/scsi-queue. Thank you!

Martin K. Petersen      Oracle Linux Engineering

Reply via email to