HomeFreeBSD

Fix infinite scan on a pool with only special allocations

Description

Fix infinite scan on a pool with only special allocations

Attempt to run scrub or resilver on a new pool containing only special
allocations (special vdev added on creation) caused infinite loop
because of dsl_scan_should_clear() limiting memory usage to 5% of pool
size, which it calculated accounting only normal allocation class.

Addition of special and just in case dedup classes fixes the issue.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Closes #10106
Closes #8694

Details

Provenance
mavAuthored on Mar 12 2020, 5:52 PM
GitHub <noreply@github.com>Committed on Mar 12 2020, 5:52 PM
Parents
rG94eb65b4c1ff: ZTS: Use correct signal numbers for status checks
Branches
Unknown
Tags
Unknown