git: 04f095a49165 - main - ufs: try to elide the interlock in ufs_itimes

From: Mateusz Guzik <mjg_at_FreeBSD.org>
Date: Wed, 14 Sep 2022 18:12:22 UTC
The branch main has been updated by mjg:

URL: https://cgit.FreeBSD.org/src/commit/?id=04f095a49165cf4903fda0f21271be5c6bfa5857

commit 04f095a49165cf4903fda0f21271be5c6bfa5857
Author:     Mateusz Guzik <mjg@FreeBSD.org>
AuthorDate: 2022-09-12 23:20:59 +0000
Commit:     Mateusz Guzik <mjg@FreeBSD.org>
CommitDate: 2022-09-14 18:12:03 +0000

    ufs: try to elide the interlock in ufs_itimes
    
    Reviewed by:    kib, mckusick
    Differential Revision:  https://reviews.freebsd.org/D36522
---
 sys/ufs/ufs/ufs_vnops.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
index 9f1fe0409483..af01fb37fe53 100644
--- a/sys/ufs/ufs/ufs_vnops.c
+++ b/sys/ufs/ufs/ufs_vnops.c
@@ -190,6 +190,11 @@ ufs_itimes_locked(struct vnode *vp)
 void
 ufs_itimes(struct vnode *vp)
 {
+	struct inode *ip;
+
+	ip = VTOI(vp);
+	if ((ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE)) == 0)
+		return;
 
 	VI_LOCK(vp);
 	ufs_itimes_locked(vp);