HomeFreeBSD

txg_sync should handle write errors in ZIL

Description

txg_sync should handle write errors in ZIL

The txg_sync thread will see certain buffers in a DR_IN_DMU_SYNC state
when ZIL is writing them out. Then it waits until the state changes, but
has an assertion to check that they were not DR_NOT_OVERRIDDEN. If the
data write failed with an error, ZIL will put it into the
DR_NOT_OVERRIDDEN state. It looks like the code will handle that state
without an issue, so we can just delete the assertion.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Richard Yao <richard.yao@klarasystems.com>
Sponsored-By: Wasabi Technology, Inc.
Closes #14283

Details

Provenance
Richard Yao <richard.yao@alumni.stonybrook.edu>Authored on Mar 10 2023, 5:34 PM
GitHub <noreply@github.com>Committed on Mar 10 2023, 5:34 PM
Parents
rG950980b4c4f8: Suppress clang static analyzer warning in vdev_stat_update()
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG7316fdd1c0c7: txg_sync should handle write errors in ZIL (authored by Richard Yao <richard.yao@alumni.stonybrook.edu>).Mar 10 2023, 5:34 PM