From nobody Fri Oct 24 07:41:11 2025 X-Original-To: dev-commits-src-main@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 4ctFFg1mcsz6Dhsj; Fri, 24 Oct 2025 07:41:11 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctFFg1GH8z3JKm; Fri, 24 Oct 2025 07:41:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761291671; 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=C1D+Twc2W+2qNJOI07SubYCXQDxybMieGUd/fdnOIrY=; b=t0vO6CqnbUMSTb/v9ibBpOqW85silqUJxxT+cfF8G2eA8JQOu1E58U3LEsRssy3AvBlgKy QEhzvPYI4age+o9+Qlo2ZW36ZnvmFbrL4ZKFyrnsdslioFGDjvLP+H/rqzmCXMNrwoNlPu LDx5cwMGEZjqOFndGJ6Zi9fuCDiZwiDIKEkGLCFlKP7uHL9W9sb6hbAMz/ALsfXEqTDbDT Naim0PNt7NvJkqO18CrPDdwZDEPe24RFoYntU6lel7spEZNw0TNReLvGDNEyiegeokNO+E PP8/QxQS46/Ux2eLaSdG1CXQUxvoKMtqFLmcKtUM90pkQzlS+ZdPXiPBn/BDWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761291671; 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=C1D+Twc2W+2qNJOI07SubYCXQDxybMieGUd/fdnOIrY=; b=GukBijnqDB32JoZbgAr88ojqlGGAdOfWmhmUgtCTS9UVXLNz724aKniJnbiyfmt7XC/KPp Wn4RRoUykIGVAm5WEQC5JXEGZB5pN2+RybLZ0666MNQnCSFh9TtkrhcNbVlETGYoIpw6cV jWRKdeC2yJP1HqcyN9eEXidSHBabEf5oq+zAY3lXnBVGI+KjMgJc/czewuyhi4yXOnv6wC Z03EmDeG3p94so3y0gPuTyoavLvRupdaUaybS3QeFpeiQ9yXY+zB/ioWvrJTuQXHDWMzYG +E+a0zFHgpl3m0xS+HJQWkCiaFdDPoKkz+bkZaQfxOBDAhBt9vphqzhz83ULcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761291671; a=rsa-sha256; cv=none; b=oaul7EJGgI+QpW/PZ8pokOjNsUQ3LDH9rwlyUg0WwLgAHST72DHz6DWBiJYbhbVvELXMxo 00WnLC0gQwYTqdzVyt2mZ0ASX3cP86s1HVlVzc8dQzIiFSJ8rPhOdo2k7NSW5rJ+cvj0oQ Qvx/IGVgMvxSR1yXcJtQ/3jtje79qllt4pykk/8i0uszqOh1ufNX5CUFHwkhu4A40PHgnP pqHYZAO7wadzVn9DXnmNByKVy77oJjhYorHMkxBG4FpAdaPWtIAv4trIiP8ic0imgVBnTR tATkcxg4skHXWFGfXEkFWyga0+cn55TDEpOTcP4rZDkLFk0l1+SPQoG5Nq3LTw== 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 4ctFFg0pdlzrPs; Fri, 24 Oct 2025 07:41:11 +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 59O7fB4k041998; Fri, 24 Oct 2025 07:41:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59O7fBAe041995; Fri, 24 Oct 2025 07:41:11 GMT (envelope-from git) Date: Fri, 24 Oct 2025 07:41:11 GMT Message-Id: <202510240741.59O7fBAe041995@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Poul-Henning Kamp Subject: git: 2612f1b8649b - main - deadfs: Return ENXIO instead of EIO when the device is gone. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: phk X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2612f1b8649bb4f069a6a064ed714daa5f10d037 Auto-Submitted: auto-generated The branch main has been updated by phk: URL: https://cgit.FreeBSD.org/src/commit/?id=2612f1b8649bb4f069a6a064ed714daa5f10d037 commit 2612f1b8649bb4f069a6a064ed714daa5f10d037 Author: Poul-Henning Kamp AuthorDate: 2025-10-24 07:19:31 +0000 Commit: Poul-Henning Kamp CommitDate: 2025-10-24 07:19:31 +0000 deadfs: Return ENXIO instead of EIO when the device is gone. One some systems, under some conditions, pulling a USB stick would read(2) returning EIO and not ENXIO, like it should and used to. Recoverdisk(1), which does not give up on EIO, like most programs would, spins furiously. Arguably, deadfs was always wrong in returning EIO, because once you get to deadfs no operation will ever work again, but we used to take a different path through devfs_vnops.c which got us the ENXIO. Something changed recently, and while testing this fix, I noticed that drm-kmod-66/i915kms may be the condition which trigger the different code-path. MFC to: stable/15 Fixes: 289785 Thanks to: imp, kib --- sys/fs/deadfs/dead_vnops.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/fs/deadfs/dead_vnops.c b/sys/fs/deadfs/dead_vnops.c index 296cf058f8c9..137c86b65058 100644 --- a/sys/fs/deadfs/dead_vnops.c +++ b/sys/fs/deadfs/dead_vnops.c @@ -122,18 +122,18 @@ dead_read(struct vop_read_args *ap) { /* - * Return EOF for tty devices, EIO for others + * Return EOF for tty devices, ENXIO for others */ - if ((ap->a_vp->v_vflag & VV_ISTTY) == 0) - return (EIO); - return (0); + if (ap->a_vp->v_vflag & VV_ISTTY) + return (0); + return (ENXIO); } int dead_write(struct vop_write_args *ap) { - return (EIO); + return (ENXIO); } int