From nobody Fri Jan 24 22:34:12 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 4Yft050W2pz5lW7d; Fri, 24 Jan 2025 22:34:13 +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 4Yft046zQHz3rm2; Fri, 24 Jan 2025 22:34:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737758053; 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=QN48Ah3/uhJZ/dSE4An+NudGtJ4JY78et5LJ5uKnoYU=; b=VLTUjH5HnMMX499fxK1CWe2/D9sFq0rpV2y4MTcOdPTUgPYcu02xkoYaAlWvUA0+p9zp+7 Z1nROHqqWKqRvraXwDhbTxC4SlljS9oYzbZcnKHmW1lihWONZPpfvDIPs+pYXe2NVgTGqG Gkx3Lpz8NARukT2cBCIUK5vxV/qy51S0pqwcpEKlT5DWLBpKcqc/0uFw5aRWP0MzpN6KVL wXJmS3O13Cy/dat9TM+Uo3com0Ha+Lk+a92v0V6ErSVPzXW3GwjAu8UX0td1qu18XUW8oA +TBrtleSpGObI+6+1TD7CX0+6p/kf7jM0KDOCRMNNMZ0ZhVL8OKsRx20nIiCWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737758053; 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=QN48Ah3/uhJZ/dSE4An+NudGtJ4JY78et5LJ5uKnoYU=; b=BuKSUnehsOZ5SG97BA6nDkA/5NpOll4aQAVeocMP6NzwXhvt0H0ZLPo2QqtKOLvD+hyrcT UBcMEY8tqSSz+I1z0ub1BJ7GQ3cK3QsSfsrOCxA3Inf1QRBfauV8CD4jroTUKxoDAk95pY al27zKa98oknRFkBC7nlJzZceV7wVroJT5RTtMELoHOfy8UTprRIAHJzeCF6HcuTsdjVP9 ET2dE3n9++jF2q4KnveaZFxTtrBB5j/RyH1Qfb4vBi/1XzxiB14DJRlUDlqVbYFGgpkWqY 6R6yhyH+yvUyjiBNQu7/kvGLthIM8DOj2eqetj6UzxD0Pf+Cr9VhpYIBLAXBPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737758053; a=rsa-sha256; cv=none; b=XMm3AvgYLB+VKV43oz9eBRKd6iMOtPj0J4PY+oqsr1tKGoxmYuoAcgjW2G2bkwcGwAsURi 4yx5eRLG+Vx4cmhc11F0GGosFv2+e1lnztdDtHpfMhuUdToka0AaJXQjaFdE3bXYhep7oZ 9P6tHwGLXAwQdOb3Gi/tYNQp63iQO543wHn/hV4S2czV/nkAyCZkGOySsxrc256Muiqwjw iOOs29cTbsd//ItfzI7Ftrnf2b5AnjfaseXYSRymaUuQqOem37/bQMsfk52+Hpeyh5Ewkh Eyk1QmybQ7GR7+RUMYncQXujjnPwYg6vrBv6VoI+7e1TyJxEBHIQzNj+AfiPMw== 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 4Yft046LD0zlhr; Fri, 24 Jan 2025 22:34:12 +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 50OMYC2c007349; Fri, 24 Jan 2025 22:34:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50OMYCRQ007346; Fri, 24 Jan 2025 22:34:12 GMT (envelope-from git) Date: Fri, 24 Jan 2025 22:34:12 GMT Message-Id: <202501242234.50OMYCRQ007346@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: 98983f3c9dec - stable/13 - 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/13 X-Git-Reftype: branch X-Git-Commit: 98983f3c9dec93285609c6ec5a615d6159b4ab65 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=98983f3c9dec93285609c6ec5a615d6159b4ab65 commit 98983f3c9dec93285609c6ec5a615d6159b4ab65 Author: Warner Losh AuthorDate: 2025-01-17 21:06:32 +0000 Commit: Warner Losh CommitDate: 2025-01-24 22:34:47 +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 3c5e509c99ad..0593dd627fda 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -2249,7 +2249,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 */