diff options
author | lulf <lulf@FreeBSD.org> | 2009-05-06 19:34:32 +0000 |
---|---|---|
committer | lulf <lulf@FreeBSD.org> | 2009-05-06 19:34:32 +0000 |
commit | 0ece818a7b1f26787ec8f94c692e977aed88fbce (patch) | |
tree | 2afe5bf947b8041d3231a262411831047c4d0170 /lib/libc/stdio/wbuf.c | |
parent | 4fbf65a82bd064bacc9f84479e927f2fc2c75ee6 (diff) | |
download | FreeBSD-src-0ece818a7b1f26787ec8f94c692e977aed88fbce.zip FreeBSD-src-0ece818a7b1f26787ec8f94c692e977aed88fbce.tar.gz |
- 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
Diffstat (limited to 'lib/libc/stdio/wbuf.c')
0 files changed, 0 insertions, 0 deletions