freebsd-dev/sys/geom
Mark Johnston 762f440f15 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
2018-01-10 19:37:21 +00:00
..
bde sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
cache sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
concat sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
eli When building standalone, include stand.h rather than the kernel 2017-12-05 21:37:32 +00:00
gate sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
journal sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
label sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
linux_lvm sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
mirror Fix handling of read errors during mirror synchronization. 2018-01-10 19:37:21 +00:00
mountver sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
multipath sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
nop sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
part sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
raid Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
raid3 sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
sched sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
shsec sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
stripe sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
uzip sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
vinum sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
virstor sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
zero sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_aes.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_bsd_enc.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_bsd.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_ccd.c geom_ccd.c: Fix the licenses properly 2017-12-30 02:07:18 +00:00
geom_ctl.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_ctl.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_dev.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_disk.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_disk.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_dump.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_event.c Instrument "boot holds" for the benefit of the TSLOG framework. These 2017-12-31 09:23:52 +00:00
geom_flashmap.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_fox.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_int.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_io.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_kern.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_map.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_mbr_enc.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_mbr.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_redboot.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_slice.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_slice.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_subr.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
geom_sunlabel_enc.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_sunlabel.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_vfs.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_vfs.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_vol_ffs.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
notes