diff options
Diffstat (limited to 'module/zfs/metaslab.c')
-rw-r--r-- | module/zfs/metaslab.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/module/zfs/metaslab.c b/module/zfs/metaslab.c index 616a89507..4b5baf6a6 100644 --- a/module/zfs/metaslab.c +++ b/module/zfs/metaslab.c @@ -3309,9 +3309,12 @@ metaslab_alloc_dva(spa_t *spa, metaslab_class_t *mc, uint64_t psize, /* * For testing, make some blocks above a certain size be gang blocks. - * This will also test spilling from special to normal. + * This will result in more split blocks when using device removal, + * and a large number of split blocks coupled with ztest-induced + * damage can result in extremely long reconstruction times. This + * will also test spilling from special to normal. */ - if (psize >= metaslab_force_ganging && (ddi_get_lbolt() & 3) == 0) { + if (psize >= metaslab_force_ganging && (spa_get_random(100) < 3)) { metaslab_trace_add(zal, NULL, NULL, psize, d, TRACE_FORCE_GANG, allocator); return (SET_ERROR(ENOSPC)); |