svn commit: r289305 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Alexander Motin mav at FreeBSD.org
Wed Oct 14 10:28:30 UTC 2015


Author: mav
Date: Wed Oct 14 10:28:29 2015
New Revision: 289305
URL: https://svnweb.freebsd.org/changeset/base/289305

Log:
  MFV r289304: 6293 ztest failure: error == 28 (0xc == 0x1c) in ztest_tx_assign()
  
  Reviewed by: George Wilson <george.wilson at delphix.com>
  Reviewed by: Prakash Surya <prakash.surya at delphix.com>
  Reviewed by: Richard Elling <Richard.Elling at RichardElling.com>
  Approved by: Richard Lowe <richlowe at richlowe.net>
  Author: Matthew Ahrens <mahrens at delphix.com>
  
  illumos/illumos-gate at 8fe00bfb8790ad51653f67b01d5ac14256cbb404

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (props changed)

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Wed Oct 14 10:21:21 2015	(r289304)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Wed Oct 14 10:28:29 2015	(r289305)
@@ -5295,6 +5295,16 @@ arc_init(void)
 		arc_c_max = arc_c_min;
 	arc_c_max = MAX(arc_c * 5, arc_c_max);
 
+	/*
+	 * In userland, there's only the memory pressure that we artificially
+	 * create (see arc_available_memory()).  Don't let arc_c get too
+	 * small, because it can cause transactions to be larger than
+	 * arc_c, causing arc_tempreserve_space() to fail.
+	 */
+#ifndef _KERNEL
+	arc_c_min = arc_c_max / 2;
+#endif
+
 #ifdef _KERNEL
 	/*
 	 * Allow the tunables to override our calculations if they are


More information about the svn-src-all mailing list