diff options
author | le <le@FreeBSD.org> | 2004-09-18 13:44:43 +0000 |
---|---|---|
committer | le <le@FreeBSD.org> | 2004-09-18 13:44:43 +0000 |
commit | 18ba8315a7f99725d24144b4ba8f020a09eb6c80 (patch) | |
tree | b26a5245ec9f7555a82415414ac98257151bf50c /sys/geom/vinum/geom_vinum.h | |
parent | 1991acc23e3343dcdae467ab20ed1b0e729ea778 (diff) | |
download | FreeBSD-src-18ba8315a7f99725d24144b4ba8f020a09eb6c80.zip FreeBSD-src-18ba8315a7f99725d24144b4ba8f020a09eb6c80.tar.gz |
Re-vamp how I/O is handled in volumes and plexes.
Analogous to the drive level, give each volume and plex a worker thread
that picks up and processes incoming and completed BIOs.
This should fix the data corruption issues that have come up a few
weeks ago and improve performance, especially of RAID5 plexes.
The volume level needs a little work, though.
Diffstat (limited to 'sys/geom/vinum/geom_vinum.h')
-rw-r--r-- | sys/geom/vinum/geom_vinum.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/geom/vinum/geom_vinum.h b/sys/geom/vinum/geom_vinum.h index a507d73..ddbf5cf 100644 --- a/sys/geom/vinum/geom_vinum.h +++ b/sys/geom/vinum/geom_vinum.h @@ -70,6 +70,7 @@ int gv_is_striped(struct gv_plex *); int gv_is_open(struct g_geom *); void gv_kill_drive_thread(struct gv_drive *); void gv_kill_plex_thread(struct gv_plex *); +void gv_kill_vol_thread(struct gv_volume *); int gv_object_type(struct gv_softc *, char *); void gv_parse_config(struct gv_softc *, u_char *, int); const char *gv_roughlength(off_t, int); |