Illumos 6293 - ztest failure: error == 28 (0xc == 0x1c) in ztest_tx_assign()

6293 ztest failure: error == 28 (0xc == 0x1c) in ztest_tx_assign()
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
Approved by: Richard Lowe <richlowe@richlowe.net>

References:
  https://www.illumos.org/issues/6293
  https://github.com/illumos/illumos-gate/commit/8fe00bf

Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
Brian Behlendorf 2016-01-11 13:52:17 -08:00
parent 4d6369c167
commit ab5cbbd107

View File

@ -5343,8 +5343,18 @@ arc_init(void)
arc_need_free = 0;
#endif
/* Set min cache to allow safe operation of arc_adapt() */
/*
* 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;
#else
arc_c_min = 2ULL << SPA_MAXBLOCKSHIFT;
#endif
/* Set max to 1/2 of all memory */
arc_c_max = allmem / 2;