From nobody Sat May 03 00:04:50 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 4Zq7MR3Bphz5vGp1; Sat, 03 May 2025 00:04:51 +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 4Zq7MQ6n6Bz40v9; Sat, 03 May 2025 00:04:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746230691; 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=Zkbw6+az1M4kK2yLr2ehoLOONhKup06OtUJK0qkWnCI=; b=ypc13RZ2EWx6wqFnhPBPuy210YiI2jDQe5JbM3Nm4V1moac8UjKf54vYsyQ04jxmNgCTUG ztqRcfW8p3Z/IeuMBXyfZGsldxxijvO1M/qqepuNztRkGHxZJnjr0L0Je2mmVJfNbMROL2 rEJq45lWJcLqrwoY2p2cT8dPuBTWo3Ywarg6YjpiF8/8l81V5PfvCOj75pFB3y9IgjNN1O oUGB5pIDITAtb1buggE/BeI7r0VawxvJsrreh8vf7jEhiomK7262vRDWhVkE/5hf4apecp GEUBFHsOxtYSzgHe5oOXZ8qd2D7hiqyLi3gdEpgnzV7YqmZZpBJaDTgNZzkr+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746230690; 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=Zkbw6+az1M4kK2yLr2ehoLOONhKup06OtUJK0qkWnCI=; b=kwPpxU2v+b7UGyKkf9VoEGdx6Bdcg9cNKtNoMXCiD4Sk8jzvoHWqENoHzEViMP1O/TEF9A FbSVfaADn7En63rn51u9tIhRQXipTAnan8LsC0sMWsPdJnPD564WYG5mesG05LELON6Qby Hsp+N2o5wrUE4tznP4+PmXWcR/VhP09hW8pYBOw36DR3Gq9fHN1XrjTl1qoLIHH+oloerx 24TTIeK1JyqCPQe0NrebxVWvscLevnHRB0NMIraWMGJu7UnNJL630Bf7AiFZYLnyFTTJrb km6GBAGnaPfl0bSCiuTwE6KN0eSl/UYyESoaqDlySgp0TMbwsxh9L8mjWUOq9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746230691; a=rsa-sha256; cv=none; b=q4zIlq4rwzz8eRDJ5gq5sWmZrAcQZVDfGIDheIOYQWjbINzyDdPQv0F/Civi09Gh8UjXvm +emyIjfzFHlKPSzgHt6hEOVGKBD91UQ2HXV9nKQRcUt+bEOPTGMb2MNBQerg5jTjkdoLsy Qya6JRRv/X53WLblF9tsded/FQwIVO8nsS5OE+gZjWgsm41dMeP/h+Cu5FSDkpunhDlQN1 Srvealwa94XlfPKNNJQzYSDIf+2mB+rqGfQH/D89knQTxDl5a+nCX2RcjacbXABjbgjX+Y OM9qWYuY2AtDbcejDxD7HeqTB6Ca/fO3Zjw7O7BeR1uSYBCo8xB68bBOfzSuww== 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 4Zq7MQ6LClz3rg; Sat, 03 May 2025 00:04:50 +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 54304oTN035292; Sat, 3 May 2025 00:04:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54304osF035289; Sat, 3 May 2025 00:04:50 GMT (envelope-from git) Date: Sat, 3 May 2025 00:04:50 GMT Message-Id: <202505030004.54304osF035289@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 01435e282112 - main - vfs cache: Simplify cache_enter_time() a bit 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01435e28211220f985c66569f60939e440f0887f Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=01435e28211220f985c66569f60939e440f0887f commit 01435e28211220f985c66569f60939e440f0887f Author: Mark Johnston AuthorDate: 2025-05-02 21:35:18 +0000 Commit: Mark Johnston CommitDate: 2025-05-03 00:04:32 +0000 vfs cache: Simplify cache_enter_time() a bit The condition `flag == NFC_ISDOTDOT && vp != NULL && vp->v_type != VDIR` is never true at this point in the function. This is asserted slightly earlier. So, remove some dead code and simplify control flow. N.B. we set v_cache_dd for all vnode types, not just VDIR. This seems to be intentional, see commit ce575cd0e2f9069. For regular files it appears to effectively represent the most recently entered cache entry for the vnode. No functional change intended. Reviewed by: olce, kib MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50107 --- sys/kern/vfs_cache.c | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 86e5c65ba3da..c949363de003 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -2628,28 +2628,20 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, ("wrong vnode type %p", vp)); atomic_thread_fence_rel(); atomic_store_ptr(&dvp->v_cache_dd, ncp); - } - - if (vp != NULL) { - if (flag != NCF_ISDOTDOT) { - /* - * For this case, the cache entry maps both the - * directory name in it and the name ".." for the - * directory's parent. - */ - if ((ndd = vp->v_cache_dd) != NULL) { - if ((ndd->nc_flag & NCF_ISDOTDOT) != 0) - cache_zap_locked(ndd); - else - ndd = NULL; - } - atomic_thread_fence_rel(); - atomic_store_ptr(&vp->v_cache_dd, ncp); - } else if (vp->v_type != VDIR) { - if (vp->v_cache_dd != NULL) { - atomic_store_ptr(&vp->v_cache_dd, NULL); - } + } else if (vp != NULL) { + /* + * For this case, the cache entry maps both the + * directory name in it and the name ".." for the + * directory's parent. + */ + if ((ndd = vp->v_cache_dd) != NULL) { + if ((ndd->nc_flag & NCF_ISDOTDOT) != 0) + cache_zap_locked(ndd); + else + ndd = NULL; } + atomic_thread_fence_rel(); + atomic_store_ptr(&vp->v_cache_dd, ncp); } if (flag != NCF_ISDOTDOT) {