Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Mar 2009 23:20:49 +0000 (UTC)
From:      Ulf Lilleengen <lulf@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r190432 - projects/gvinum/sys/geom/vinum
Message-ID:  <200903252320.n2PNKn7o092481@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: lulf
Date: Wed Mar 25 23:20:49 2009
New Revision: 190432
URL: http://svn.freebsd.org/changeset/base/190432

Log:
  - Fix a bug introduced when the plex synchronization was "fixed": remember to go
    all the way around the list to the starting point and not just to the end.

Modified:
  projects/gvinum/sys/geom/vinum/geom_vinum_volume.c

Modified: projects/gvinum/sys/geom/vinum/geom_vinum_volume.c
==============================================================================
--- projects/gvinum/sys/geom/vinum/geom_vinum_volume.c	Wed Mar 25 22:21:53 2009	(r190431)
+++ projects/gvinum/sys/geom/vinum/geom_vinum_volume.c	Wed Mar 25 23:20:49 2009	(r190432)
@@ -86,6 +86,8 @@ gv_volume_start(struct gv_softc *sc, str
 		if (lp == NULL)
 			lp = LIST_FIRST(&v->plexes);
 		p = LIST_NEXT(lp, in_volume);
+		if (p == NULL)
+			p = LIST_FIRST(&v->plexes);
 		do {
 			if (p == NULL) {
 				p = lp;
@@ -96,6 +98,8 @@ gv_volume_start(struct gv_softc *sc, str
 			    p->org == GV_PLEX_RAID5))
 				break;
 			p = LIST_NEXT(p, in_volume);
+			if (p == NULL)
+				p = LIST_FIRST(&v->plexes);
 		} while (p != lp);
 
 		if ((p == NULL) ||



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903252320.n2PNKn7o092481>