From owner-cvs-src-old@FreeBSD.ORG Wed May 6 19:34:44 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AB611065840 for ; Wed, 6 May 2009 19:34:43 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D53F88FC17 for ; Wed, 6 May 2009 19:34:43 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n46JYhkC014006 for ; Wed, 6 May 2009 19:34:43 GMT (envelope-from lulf@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n46JYhC6014005 for cvs-src-old@freebsd.org; Wed, 6 May 2009 19:34:43 GMT (envelope-from lulf@repoman.freebsd.org) Message-Id: <200905061934.n46JYhC6014005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to lulf@repoman.freebsd.org using -f From: Ulf Lilleengen Date: Wed, 6 May 2009 19:34:32 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD 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 X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 May 2009 19:34:44 -0000 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