freebsd-dev/sys/geom/vinum
Ulf Lilleengen d8d015cddc - 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
2009-05-06 19:34:32 +00:00
..
geom_vinum_create.c - Add files that should have been added in r190507. 2009-03-28 21:06:59 +00:00
geom_vinum_drive.c Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
geom_vinum_events.c - Split the queue mutex into one for the event queue and one for the BIO queue, 2009-05-06 18:21:48 +00:00
geom_vinum_init.c Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
geom_vinum_list.c Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
geom_vinum_move.c Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
geom_vinum_plex.c - Split up the BIO queue into a queue for new and one for completed requests. 2009-05-06 19:34:32 +00:00
geom_vinum_raid5.c - Split up the BIO queue into a queue for new and one for completed requests. 2009-05-06 19:34:32 +00:00
geom_vinum_raid5.h Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
geom_vinum_rename.c - Remove assertion of topology lock remaining from 7.x gvinum. It is not needed, 2009-04-18 16:36:27 +00:00
geom_vinum_rm.c - Check if any plexes are doing internal maintenance before removing them. 2009-05-06 19:06:28 +00:00
geom_vinum_share.c - Move out allocation part of different gvinum objects into its own routine and 2009-04-10 08:50:14 +00:00
geom_vinum_share.h - Move out allocation part of different gvinum objects into its own routine and 2009-04-10 08:50:14 +00:00
geom_vinum_state.c Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
geom_vinum_subr.c - Fix a case where a RAID5 volume would think that it is supposed to grow a new 2009-05-06 19:18:19 +00:00
geom_vinum_var.h - Split up the BIO queue into a queue for new and one for completed requests. 2009-05-06 19:34:32 +00:00
geom_vinum_volume.c Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
geom_vinum.c - Split up the BIO queue into a queue for new and one for completed requests. 2009-05-06 19:34:32 +00:00
geom_vinum.h - Split up the BIO queue into a queue for new and one for completed requests. 2009-05-06 19:34:32 +00:00