svn commit: r351555 - head/sys/kern

Mateusz Guzik mjg at FreeBSD.org
Tue Aug 27 20:30:57 UTC 2019


Author: mjg
Date: Tue Aug 27 20:30:56 2019
New Revision: 351555
URL: https://svnweb.freebsd.org/changeset/base/351555

Log:
  vfs: stop passing LK_INTERLOCK to VOP_UNLOCK
  
  The plan is to drop the flags argument. There is also a temporary bug
  now that nullfs ignores the flag.
  
  Reviewed by:	kib
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D21252

Modified:
  head/sys/kern/vfs_subr.c

Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c	Tue Aug 27 20:11:45 2019	(r351554)
+++ head/sys/kern/vfs_subr.c	Tue Aug 27 20:30:56 2019	(r351555)
@@ -1034,8 +1034,8 @@ vlrureclaim(struct mount *mp, bool reclaim_nc_src, int
 		    (vp->v_iflag & VI_FREE) != 0 ||
 		    (vp->v_object != NULL &&
 		    vp->v_object->resident_page_count > trigger)) {
-			VOP_UNLOCK(vp, LK_INTERLOCK);
-			vdrop(vp);
+			VOP_UNLOCK(vp, 0);
+			vdropl(vp);
 			goto next_iter_mntunlocked;
 		}
 		KASSERT((vp->v_iflag & VI_DOOMED) == 0,
@@ -1398,7 +1398,8 @@ vtryrecycle(struct vnode *vp)
 	 */
 	VI_LOCK(vp);
 	if (vp->v_usecount) {
-		VOP_UNLOCK(vp, LK_INTERLOCK);
+		VOP_UNLOCK(vp, 0);
+		VI_UNLOCK(vp);
 		vn_finished_write(vnmp);
 		CTR2(KTR_VFS,
 		    "%s: impossible to recycle, %p is already referenced",
@@ -1409,7 +1410,8 @@ vtryrecycle(struct vnode *vp)
 		counter_u64_add(recycles_count, 1);
 		vgonel(vp);
 	}
-	VOP_UNLOCK(vp, LK_INTERLOCK);
+	VOP_UNLOCK(vp, 0);
+	VI_UNLOCK(vp);
 	vn_finished_write(vnmp);
 	return (0);
 }


More information about the svn-src-all mailing list