svn commit: r354169 - stable/11/sys/kern

Konstantin Belousov kib at FreeBSD.org
Wed Oct 30 08:06:23 UTC 2019


Author: kib
Date: Wed Oct 30 08:06:22 2019
New Revision: 354169
URL: https://svnweb.freebsd.org/changeset/base/354169

Log:
  MFC r353930:
  Fix undefined behavior.

Modified:
  stable/11/sys/kern/vfs_subr.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/kern/vfs_subr.c
==============================================================================
--- stable/11/sys/kern/vfs_subr.c	Wed Oct 30 07:54:34 2019	(r354168)
+++ stable/11/sys/kern/vfs_subr.c	Wed Oct 30 08:06:22 2019	(r354169)
@@ -1168,7 +1168,7 @@ vnlru_proc(void)
 {
 	struct mount *mp, *nmp;
 	unsigned long ofreevnodes, onumvnodes;
-	int done, force, reclaim_nc_src, trigger, usevnodes;
+	int done, force, reclaim_nc_src, trigger, usevnodes, vsp;
 
 	EVENTHANDLER_REGISTER(shutdown_pre_sync, kproc_shutdown, vnlruproc,
 	    SHUTDOWN_PRI_FIRST);
@@ -1196,7 +1196,8 @@ vnlru_proc(void)
 			force = 1;
 			vstir = 0;
 		}
-		if (vspace() >= vlowat && force == 0) {
+		vsp = vspace();
+		if (vsp >= vlowat && force == 0) {
 			vnlruproc_sig = 0;
 			wakeup(&vnlruproc_sig);
 			msleep(vnlruproc, &vnode_free_list_mtx,
@@ -1264,7 +1265,8 @@ vnlru_proc(void)
 		 * After becoming active to expand above low water, keep
 		 * active until above high water.
 		 */
-		force = vspace() < vhiwat;
+		vsp = vspace();
+		force = vsp < vhiwat;
 	}
 }
 
@@ -1341,8 +1343,10 @@ vtryrecycle(struct vnode *vp)
 static void
 vcheckspace(void)
 {
+	int vsp;
 
-	if (vspace() < vlowat && vnlruproc_sig == 0) {
+	vsp = vspace();
+	if (vsp < vlowat && vnlruproc_sig == 0) {
 		vnlruproc_sig = 1;
 		wakeup(vnlruproc);
 	}


More information about the svn-src-all mailing list