freebsd-dev/sys/geom
Warner Losh 3cf5dd8401 Use buf to send speedup
It turns out there's a problem with using g_io to send the speedup. It leads to
a race when there's a resource shortage when a disk fails.

Instead, send BIO_SPEEDUP via struct buf. This is pretty straight forward,
except we need to transfer the bio_flags from b_ioflags for BIO_SPEEDUP commands
in g_vfs_strategy.

Reviewed by: kirk, chs
Differential Revision: https://reviews.freebsd.org/D23117
2020-01-17 01:16:19 +00:00
..
bde
cache
concat Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
eli Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
gate Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
journal Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
label
linux_lvm Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
mirror Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
mountver Fix GEOM_MOUNTVER orphanization. 2019-12-29 17:10:21 +00:00
multipath gmultipath: add ATF tests 2019-12-06 00:12:14 +00:00
nop Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
part Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
raid Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
raid3 Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
shsec Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
stripe Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
uzip Fix GEOM_UZIP orphanization. 2019-12-27 21:44:13 +00:00
vinum Reimplement gvinum orphanization. 2019-12-27 01:36:53 +00:00
virstor Fix GEOM_VIRSTOR orphanization. 2019-12-29 19:21:29 +00:00
zero
geom_bsd_enc.c
geom_ccd.c
geom_ctl.c We don't even need Giant here. It isn't protecting anything internal 2019-11-23 23:44:00 +00:00
geom_ctl.h
geom_dbg.h
geom_dev.c Block ioctls for dying GEOM_DEV instances. 2019-12-06 03:46:38 +00:00
geom_disk.c Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
geom_disk.h Add GEOM attribute to report physical device name, and report it 2019-11-09 17:30:19 +00:00
geom_dump.c Wrap g_trace() into a macro to avoid unneeded calls. 2019-12-05 04:52:19 +00:00
geom_event.c Retire nstart/nend counters. 2019-12-30 00:46:10 +00:00
geom_flashmap.c
geom_flashmap.h
geom_int.h Remove duplicate g_debugflags declaration. 2019-12-05 15:07:32 +00:00
geom_io.c Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
geom_kern.c Mark some more hot global variables with __read_mostly. 2019-12-04 21:26:03 +00:00
geom_map.c
geom_redboot.c
geom_slice.c Pass BIO_SPEEDUP through all the geom layers 2020-01-17 01:15:55 +00:00
geom_slice.h
geom_subr.c Retire nstart/nend counters. 2019-12-30 00:46:10 +00:00
geom_vfs.c Use buf to send speedup 2020-01-17 01:16:19 +00:00
geom_vfs.h
geom.h Retire nstart/nend counters. 2019-12-30 00:46:10 +00:00
notes