svn commit: r290752 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Alexander Motin mav at FreeBSD.org
Fri Nov 13 09:21:33 UTC 2015


Author: mav
Date: Fri Nov 13 09:21:31 2015
New Revision: 290752
URL: https://svnweb.freebsd.org/changeset/base/290752

Log:
  MFC r289305: 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:
  stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Fri Nov 13 09:20:46 2015	(r290751)
+++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Fri Nov 13 09:21:31 2015	(r290752)
@@ -5298,6 +5298,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