git: 362ff9867e9f - main - Revert rest of a5970a529c2d95271: use vrefact() when working on fp->f_vnode

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Fri, 15 Apr 2022 13:57:04 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=362ff9867e9f0856a0f24f91e5fc6b9b3ecff8e9

commit 362ff9867e9f0856a0f24f91e5fc6b9b3ecff8e9
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2022-04-13 23:39:57 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2022-04-15 13:56:20 +0000

    Revert rest of a5970a529c2d95271: use vrefact() when working on fp->f_vnode
    
    Now, since O_PATH-opened file descriptors use use references instead
    of the hold references, vrefact() chahges from that revision can be
    reverted.
    
    Reviewed by:    markj
    Tested by:      pho
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D34906
---
 sys/kern/kern_descrip.c | 6 +++---
 sys/kern/vfs_syscalls.c | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
index 740d777bcede..163864ddf752 100644
--- a/sys/kern/kern_descrip.c
+++ b/sys/kern/kern_descrip.c
@@ -3087,7 +3087,7 @@ fgetvp_lookup(int fd, struct nameidata *ndp, struct vnode **vpp)
 		error = ENOTDIR;
 		goto out_free;
 	}
-	vref(vp);
+	vrefact(vp);
 	/*
 	 * XXX does not check for VDIR, handled by namei_setup
 	 */
@@ -3537,7 +3537,7 @@ _fgetvp(struct thread *td, int fd, int flags, cap_rights_t *needrightsp,
 		error = EINVAL;
 	} else {
 		*vpp = fp->f_vnode;
-		vref(*vpp);
+		vrefact(*vpp);
 	}
 	fdrop(fp, td);
 
@@ -3573,7 +3573,7 @@ fgetvp_rights(struct thread *td, int fd, cap_rights_t *needrightsp,
 
 	*havecaps = caps;
 	*vpp = fp->f_vnode;
-	vref(*vpp);
+	vrefact(*vpp);
 	fdrop(fp, td);
 
 	return (0);
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index a41a12d08cf9..ccc14bdc0382 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -907,7 +907,7 @@ sys_fchdir(struct thread *td, struct fchdir_args *uap)
 	if (error != 0)
 		return (error);
 	vp = fp->f_vnode;
-	vref(vp);
+	vrefact(vp);
 	fdrop(fp, td);
 	vn_lock(vp, LK_SHARED | LK_RETRY);
 	AUDIT_ARG_VNODE1(vp);