From nobody Sun Jun 1 19:54:01 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 4b9SNB2Jmyz5y5qn; Sun, 01 Jun 2025 19:54:02 +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 4b9SN94PTZz3st3; Sun, 01 Jun 2025 19:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807641; 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=TbmdUE7IN6CLXkT4Ev6VPdaI3nT5Hvvocjw5Zdkr454=; b=cKTvmyfhRmtYwQmNcBeO3lE/dyrKxT9MAS4T5g19qW8uC4spRNQaWqi2mwM5TP1rtFrmPU uWxDB00JWY2Vmve9r2GqCw/3lunAr/WPfHs/gURqd9fsIyeHFdsXIAoupxSuYkd9HwkUY/ VZLcYEl+NUkE5pp+eFpseg2cagxmoBDEqaxhch6nxhBoy+lrHuSLLSbKMS8gNMERdj2YZ3 m3Po5e3hR9UZ1qCnw8Kk0jaxG3E5EETvkUNNsJXNbRWO0XmpBsL4Qb/8UUYji29p53LtaB OseNLM7FTDUJIAe/Watr9vuAirtBXFzmby9Z1lWDXmkieGXpmUwBa7rU7U4+OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807641; 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=TbmdUE7IN6CLXkT4Ev6VPdaI3nT5Hvvocjw5Zdkr454=; b=j5mnFlo48zf2vGG4hc6PCPaDdWveRPIyT6OtOX54L+qkmMmlp9NzLySOhF/Luyvdqz1Dd3 TSP7YKIICFbu3IqkPojyXTqDVMEsFThOc/ju0iiIpw4Co9u8nB2INWbVECC3VKFPd0XNGl Eg6IBeQo7AMEvE3UQ+HC3jzei2lCQ9m4pzQrg1E1vya77kwgc9Vr6VfBWejsWa1QGqsqr5 YpErU/xEf2AUODlWt5U2P0tXGeiasJgni9SJxf9Vx6EA3AtZoXZB1/EhMtKHqeevxuM59e k1uamk6TSWUDQcrZ22OUznw7rs1rtWg8DwglIFf/BO17ZrESVHLONUvwr5U7DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807641; a=rsa-sha256; cv=none; b=mng0gMHwOOrtopsyOQvDCpmFBbh3E6RfkHfuP9mN2hPCEgWMFiPyZYqoU1C6oYGkMLSLCN xmojek66ZVaXtVjKtR0jXMN0iCmfkKOScLfqINfSkXsEvyPbKT2mVkV3RZQ4R2eQEaaVV2 1SrKLyUks21uaZyKRx/aO5wGOl+ZpILToEj7TMoIjROyS5dOzVF6BD8VuPBIc1j/Je4gTb FPrGn8wdnY6DYB/dc0+7CXtr2sgniRZtirB4K1ku71fhrM40P/GZYk8Bujjxgfs3Xtcvra kJLeH0AWvCZTwMzoRcIG/P2kMeNKw2IYuNvwT0twBB2J4As+PKerTjjNc+0LyQ== 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 4b9SN920MPzddb; Sun, 01 Jun 2025 19:54:01 +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 551Js1Hv046080; Sun, 1 Jun 2025 19:54:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js14q046076; Sun, 1 Jun 2025 19:54:01 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:01 GMT Message-Id: <202506011954.551Js14q046076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 1a03846b4050 - stable/14 - vfs cache: Simplify cache_enter_time() a bit 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1a03846b405093048324ea2783a19d88a469d5e6 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1a03846b405093048324ea2783a19d88a469d5e6 commit 1a03846b405093048324ea2783a19d88a469d5e6 Author: Mark Johnston AuthorDate: 2025-05-02 21:35:18 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +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 (cherry picked from commit 01435e28211220f985c66569f60939e440f0887f) --- 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 284e23f3d1e8..a61a684e396e 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -2540,28 +2540,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) {