From nobody Fri Jan 24 22:33:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YfszX58dBz5lVnv; Fri, 24 Jan 2025 22:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YfszX3yHwz3rYt; Fri, 24 Jan 2025 22:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737758024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhxSNBBcca2fpUbFTGPehWTe4kl29Qz38xLDVCYiExQ=; b=BLzewX7FE+Dr0vyp3yv4ObShGsx9IyCkiu8uIfGXG8jaa51mCENnADBC7Otp8kHl1ZLBtr JaQGrXFdCaVnxZ7wPrV30lqDc6w7Tvqh/cSSWXUrwGXv1AP5MNP/wH8grzYID21+S+1EK4 IMITKrDm7GgVT1fndz3omIWBcLdcYbzzfM9Lgqapo2B5TRNNIlZIDmyNr3sVVwC0dGD+wj 9tXP+jN5EfTWEPvdCBm0q/UlmR9WhcbjD+15zPILzScxD9P7J6RMd7Qi2CBlW8fw2SRx+F 7FsACJ1xxebTpZ8RJwv3+DSLUP6DQXLhYi/e4Sn6P6bdXIeU05AJt0oRijdSEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737758024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhxSNBBcca2fpUbFTGPehWTe4kl29Qz38xLDVCYiExQ=; b=wZRuRN1D3mhs1JzgD+K6Li1rpzyp9xHCkvlmUw9kRN5fhxT40D02aX4O8F3xIhubAyz0VT bBk8ddAUk3fDwWuOeeF9pUKz0HPPqsgm2o+QKeC7hloHyW5uSl4FOwVPr6dFFAKlCiru7R hXgAC6pQ/byHT9+cycr5fAk5vPQfXSvzRIPPXZqmR6HryBvwqddO1hm5UZ9twiVTUS7eWN jXJxt50gn0E3ySpZ2jylQbOoCGxr9VThvFDE2M4xLKGA/Y77LWFfkXLLvoYYVC3vptRSJX 7pOfKaJO8Sqwj2Bvz2hMDc4djITrOJuzPUsfLW773d/a46iktFfLK+4AYbdiGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737758024; a=rsa-sha256; cv=none; b=Odbo3mmDEcgjIsw42zk1qXVNlpKBtnvHd18qx5AA/8/dSe1+ca87+17xQUZoTpa8Mea+LL PqTJqOZ5+sfh3oBcr5RWZrbLlmyAIQRc3ezim2OZAO5INWyyeYj7Qas/Wr1W5Ve73ylLDq zn76CY/100Ui0yCcLfF6BK2o41YcqYwhG/KPImHfupoBzDSg8QBhRJvKCfDPxkhTb8WcsC QFazjwStzNVRz9IsFA4QKF15t9DVVoOOvYuiJclgRMgyRJQcIrhJQ7YNX/2b8C4RuG/chK i/8Q1SLYbt8lQkAEaoQ4+DxYPemkKsG1Op4nI6gB1/eU0k6bgnsEY/6+61+/Eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YfszX3Pv0zl7w; Fri, 24 Jan 2025 22:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50OMXibd007074; Fri, 24 Jan 2025 22:33:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50OMXiPc007071; Fri, 24 Jan 2025 22:33:44 GMT (envelope-from git) Date: Fri, 24 Jan 2025 22:33:44 GMT Message-Id: <202501242233.50OMXiPc007071@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 6a0afbcbf6a0 - stable/14 - cam: Add 3e/3 as a fatal code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6a0afbcbf6a0aec6392ee9357428ac5b140bbdc1 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6a0afbcbf6a0aec6392ee9357428ac5b140bbdc1 commit 6a0afbcbf6a0aec6392ee9357428ac5b140bbdc1 Author: Warner Losh AuthorDate: 2025-01-17 21:06:32 +0000 Commit: Warner Losh CommitDate: 2025-01-24 22:34:19 +0000 cam: Add 3e/3 as a fatal code We see this error: (da4:mps0:0:3:0): SCSI sense: HARDWARE FAILURE asc:3e,3 (Logical unit failed self-test) for drives that have failed. Our vendor tells us there's no recovery from that state, though we can still grab logs from the drives and run their diagnostics. Drives in this state need to bascially be remanufactured because some part of them has failed. The prior default behavior is to retry, and retrying takes a long time to work out. Instead, short-circuit the retries and fail right away. I selected ENXIO because no I/O to LBAs is possible for drives in this state (both my experience and per vendor). Some googling suggests that other vendors behave identically, but it was inconclusive. Should this be too pessimistic, we can adjust in the future. Also, this is with some aging drives in our fleet, and if we have more than one drive in this state, our systems take so long to get to mountroot that the watchdog fires sometimes. Adding this patch makes them boot reliably again. MFC After: 1 week Sponsored by: Netflix Reviewed by: mav Differential Revision: https://reviews.freebsd.org/D48505 (cherry picked from commit a8b49e7c66292852339481536f039719e7914200) --- 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 0e42403d74a6..20c1e961bf63 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -2309,7 +2309,7 @@ static struct asc_table_entry asc_table[] = { { SST(0x3E, 0x02, SS_RDEF, "Timeout on logical unit") }, /* DTLPWROMAEBKVF */ - { SST(0x3E, 0x03, SS_RDEF, /* XXX TBD */ + { SST(0x3E, 0x03, SS_FATAL | ENXIO, "Logical unit failed self-test") }, /* DTLPWROMAEBKVF */ { SST(0x3E, 0x04, SS_RDEF, /* XXX TBD */