HomeFreeBSD

Fix scrub resume from newly created hole.

Description

Fix scrub resume from newly created hole.

It may happen that scan bookmark points to a block that was turned
into a part of a big hole. In such case dsl_scan_visitbp() may skip
it and dsl_scan_check_resume() will not be called for it. As result
new scan suspend won't be possible until the end of the object, that
may take hours if the object is a multi-terabyte ZVOL on a slow HDD
pool, stretching TXG to all that time, creating all sorts of problems.

This patch changes the resume condition to any greater or equal block,
so even if we miss the bookmarked block, the next one we find will
delete the bookmark, allowing new suspend.

Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.

Details

Provenance
mavAuthored on Jul 8 2022, 7:53 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Jul 26 2022, 5:10 PM
Parents
rGbbb50e612967: Avoid memory copy when verifying raidz/draid parity
Branches
Unknown
Tags
Unknown

Event Timeline