svn commit: r201783 - stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Alexander Leidinger netchild at FreeBSD.org
Fri Jan 8 11:06:14 UTC 2010


Author: netchild
Date: Fri Jan  8 11:06:13 2010
New Revision: 201783
URL: http://svn.freebsd.org/changeset/base/201783

Log:
  MFC
  
  r197514:
  ---snip---
      On lookup error VFS expects *vpp to be set to NULL, be sure to do that.
  ---snip---
  
  r197816:
  ---snip---
      Prevent paging pressure from draining arc too much
      - always drain arc if above arc_c_max - never drain arc if arc is below
        arc_c_max
  ---snip---

Modified:
  stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Fri Jan  8 10:54:15 2010	(r201782)
+++ stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Fri Jan  8 11:06:13 2010	(r201783)
@@ -1820,6 +1820,12 @@ arc_reclaim_needed(void)
 #endif
 
 #ifdef _KERNEL
+	if (needfree)
+		return (1);
+	if (arc_size > arc_c_max)
+		return (1);
+	if (arc_size <= arc_c_min)
+		return (0);
 
 	/*
 	 * If pages are needed or we're within 2048 pages 
@@ -1828,9 +1834,6 @@ arc_reclaim_needed(void)
 	if (vm_pages_needed || (vm_paging_target() > -2048))
 		return (1);
 
-	if (needfree)
-		return (1);
-
 #if 0
 	/*
 	 * take 'desfree' extra pages, so we reclaim sooner, rather than later

Modified: stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
==============================================================================
--- stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c	Fri Jan  8 10:54:15 2010	(r201782)
+++ stable/7/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c	Fri Jan  8 11:06:13 2010	(r201783)
@@ -897,6 +897,8 @@ domount:
 	}
 	mutex_exit(&sdp->sd_lock);
 	ZFS_EXIT(zfsvfs);
+	if (err != 0)
+		*vpp = NULL;
 	return (err);
 }
 


More information about the svn-src-stable-7 mailing list