git: 7872131605f6 - main - cam: Fail 2/0 asc/ascq return code

From: Warner Losh <imp_at_FreeBSD.org>
Date: Fri, 28 Jul 2023 04:31:29 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=7872131605f65d3e1cc651ba7113a9214013787a

commit 7872131605f65d3e1cc651ba7113a9214013787a
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-07-27 22:05:29 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-07-28 04:28:01 +0000

    cam: Fail 2/0 asc/ascq return code
    
    This asc/ascq code 2/0 ("No seek complete") is a fatal error on modern
    drives indicating a sensor failure. One of our vendors noticed we
    retried 2/0 so many times in their failure analysis and asked why (no
    other OS else does). They've indicated that this failures means the
    track couldn't be located (something that's not going to change, except
    if the environment changes significantly, which won't happen on a
    timescale useful to retries).
    
    Sponsored by:           Netflix
---
 sys/cam/scsi/scsi_all.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c
index d7b0a208c10d..e0079dd8ff88 100644
--- a/sys/cam/scsi/scsi_all.c
+++ b/sys/cam/scsi/scsi_all.c
@@ -1082,7 +1082,7 @@ static struct asc_table_entry asc_table[] = {
 	{ SST(0x01, 0x00, SS_RDEF,
 	    "No index/sector signal") },
 	/* D   WRO   BK   */
-	{ SST(0x02, 0x00, SS_RDEF,
+	{ SST(0x02, 0x00, SS_FATAL | EIO,
 	    "No seek complete") },
 	/* DTL W O   BK   */
 	{ SST(0x03, 0x00, SS_RDEF,