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_init.c | |
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_init.c')
-rw-r--r-- | sys/geom/vinum/geom_vinum_init.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/geom/vinum/geom_vinum_init.c b/sys/geom/vinum/geom_vinum_init.c index 4ad7a03..382ea15 100644 --- a/sys/geom/vinum/geom_vinum_init.c +++ b/sys/geom/vinum/geom_vinum_init.c @@ -293,7 +293,7 @@ gv_sync_td(void *arg) * This hack declare this bio as part of an initialization * process, so that the lower levels allow it to get through. */ - bp->bio_caller1 = p; + bp->bio_cflags |= GV_BIO_SYNCREQ; /* Schedule it down ... */ g_io_request(bp, to); |