HomeFreeBSD

Fix handling of read errors during mirror synchronization.

Description

Fix handling of read errors during mirror synchronization.

We would previously just free the request BIO, which would either cause
the disk to stay stuck in the SYNCHRONIZING state, or result in
synchronization completing without having copied the block which
returned an error.

With this change, if the disk which returned an error is the only active
disk in the mirror, the synchronizing disk is kicked out. Otherwise, the
read is retried.

Reported and tested by: pho (previous version)
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

Details

Provenance
markjAuthored on
Parents
rS327778: src.conf.5: regen after r325692 and r326888
Branches
Unknown
Tags
Unknown