HomeFreeBSD

Prevent zdb(8) from occasionally hanging on I/O

Description

Prevent zdb(8) from occasionally hanging on I/O

The zdb(8) command may not terminate in the case where the pool
gets suspended and there is a caller in zio_wait() blocking on
an outstanding read I/O that will never complete. This can in
turn cause ztest(1) to block indefinitely despite the deadman.

Resolve the issue by setting the default failure mode for zdb(8)
to panic. In user space we always want the command to terminate
when forward progress is no longer possible.

Reviewed-by: Tim Chase <tim@chase2k.com>
Reviewed by: Thomas Caputi <tcaputi@datto.com>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #6999

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Jan 9 2018, 12:15 AM
Parents
rG8fb1ede14642: Extend deadman logic
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rGbb2536255388: Prevent zdb(8) from occasionally hanging on I/O (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Jan 25 2018, 9:41 PM