From nobody Fri Jul 3 00:28:39 2026 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 4grvkJ2KpZz6kDwb for ; Fri, 03 Jul 2026 00:28:40 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4grvkH6B6Hz46bf for ; Fri, 03 Jul 2026 00:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783038519; 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=cm+nW7L5YAV/FHCRxwY71u+pdEhxoBtw/zing6Kk8Qk=; b=g+rFD9ugMJMTgAzRj6Ho783v0V4DwWkziuqAah83ApMwuIc2+94l/iga6c7sGonOykyg4Y 5ljwAlWteAGIqIJoKcREV/yIWaUywyfGQhrvLlKr/XJhwrwW/EzurhUhZsMa3kIYAPw7uc eyk/UX9fSdLjsJd1JsiD2VNDMPriMSPowNXZLa3zUIKrqfAjpBVnn2taFTt+CPYZBU20DR qT09ZPdM9i2WgTttMdKb9eTdInKhNe//X/30vU1JxTR5+7rYd5Jam+YZtK6pXKoAjgl9wy d8qk9z0RJn+9FvUYTQ50HkckI7/UY2uNJWNuepaNrwVhF+c/n5m/Jua4F/dzMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783038519; a=rsa-sha256; cv=none; b=YnDovjTh8GCbm3eYGaaBihFOL/p8T/qcJ61CQIaLO6CaULjvqE7K8HUoZfxG4bEMpd4y+J o+SXbmbqPGmrPxQFtnaR4unfeoBUPSTM0KUwtP49Cf00wwBAZp0rA3W7x3FOj/wYevKShj 8R9g4wgsRP2SDPm8uWDCWM3JQrUAIUmB4R+T++EWU/xjxbJ4BiwdL7+WDpCC7Sy7x6BIPZ esgFTijEswGtjlRW9NpVXEtF/Gc0PwnW/kaQeJQMZNRkmDrvUwHpjVPfVLTQmKS/Vjj1g2 u4axMW+x52XKMdGozAITluxt8kXRwUudFK2gAYOQJ6TwT7yEkMwaJRpsjrRLxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783038519; 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=cm+nW7L5YAV/FHCRxwY71u+pdEhxoBtw/zing6Kk8Qk=; b=vJ4I1NI3lV31jx0wX5jvEf2ZVb7nC52eFk7DuMQtOyqRMAIOa/KQaA6xKLSQ7wTPpthQ1/ fKXmpmsOgDidsYJE54b/pyjPmY/ygKFqSj2XrjEjbEvAattNGSmEQ7XZnFjo22VUB8n4xG tKDzLI1ON+jq4WYucp+HVYPnpOYLRXlFn2pxjRjcrVFGqRn93ETvSDeguT24YsX/aU7E0o l/3E5OEXdjWuw2q3rp2Nsd4GJwFkRG6f5SHmheDGVsKWTUnvYmAuMh0OLcRl8sCER3M4RA oGFxK491w6JyVNRePxWIzdBzPKUnJ2TIQ8NT6kewQejTjpRtLeOz14I3eozzXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4grvkH57jbz8j9 for ; Fri, 03 Jul 2026 00:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25d93 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 03 Jul 2026 00:28:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: c041b82c59e8 - main - ffs: do not return ESTALE on attempt to ffs_unotovp() on unlinked inode 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c041b82c59e885d106f45454302bad3d9dcc58a7 Auto-Submitted: auto-generated Date: Fri, 03 Jul 2026 00:28:39 +0000 Message-Id: <6a470237.25d93.4004af0b@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c041b82c59e885d106f45454302bad3d9dcc58a7 commit c041b82c59e885d106f45454302bad3d9dcc58a7 Author: Konstantin Belousov AuthorDate: 2026-07-01 01:14:45 +0000 Commit: Konstantin Belousov CommitDate: 2026-07-03 00:28:23 +0000 ffs: do not return ESTALE on attempt to ffs_unotovp() on unlinked inode The consequences are: - for nfs exports and fhopen(2), unlinked but still referenced inodes are accessible - for ffs_vput_pair() with unlock_vp = false, spurious ESTALE is not returned when the inode is still alive but unlinked Note that tmpfs does not return ESTALE for the unlinked nodes. The same behavior is claimed for Linux in https://github.com/openzfs/zfs/issues/18699 Reviewed by: rmacklem Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57982 --- sys/ufs/ffs/ffs_vfsops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 11afa99bea76..a9b04bd290bd 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1962,7 +1962,7 @@ ffs_inotovp(struct mount *mp, return (ESTALE); ip = VTOI(nvp); - if (ip->i_mode == 0 || ip->i_gen != gen || ip->i_effnlink <= 0) { + if (ip->i_mode == 0 || ip->i_gen != gen) { if (ip->i_mode == 0) vgone(nvp); vput(nvp);