Date: Wed, 6 May 2009 19:34:32 +0000 (UTC) From: Ulf Lilleengen <lulf@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/geom/vinum geom_vinum.c geom_vinum.h geom_vinum_plex.c geom_vinum_raid5.c geom_vinum_var.h Message-ID: <200905061934.n46JYhC6014005@repoman.freebsd.org>
index | next in thread | raw e-mail
lulf 2009-05-06 19:34:32 UTC
FreeBSD src repository
Modified files:
sys/geom/vinum geom_vinum.c geom_vinum.h
geom_vinum_plex.c geom_vinum_raid5.c
geom_vinum_var.h
Log:
SVN rev 191856 on 2009-05-06 19:34:32Z by lulf
- Split up the BIO queue into a queue for new and one for completed requests.
This is necessary for two reasons:
1) In order to avoid collisions with the use of a BIOs flags set by a consumer
or a provider
2) Because GV_BIO_DONE was used to mark a BIO as done, not enough flags was
available, so the consumer flags of a BIO had to be misused in order to
support enough flags. The new queue makes it possible to recycle the
GV_BIO_DONE flag into GV_BIO_GROW.
As a consequence, gvinum will now work with any other GEOM class under it or
on top of it.
- Use bio_pflags for storing internal flags on downgoing BIOs, as the requests
appear to come from a consumer of a gvinum volume. Use bio_cflags only for
cloned BIOs.
- Move gv_post_bio to be used internally for maintenance requests.
- Remove some cases where flags where set without need.
PR: kern/133604
Revision Changes Path
1.28 +44 -45 src/sys/geom/vinum/geom_vinum.c
1.18 +0 -1 src/sys/geom/vinum/geom_vinum.h
1.23 +42 -30 src/sys/geom/vinum/geom_vinum_plex.c
1.14 +6 -7 src/sys/geom/vinum/geom_vinum_raid5.c
1.17 +6 -3 src/sys/geom/vinum/geom_vinum_var.h
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905061934.n46JYhC6014005>
