svn commit: r190432 - projects/gvinum/sys/geom/vinum

Ulf Lilleengen lulf at FreeBSD.org
Wed Mar 25 16:20:50 PDT 2009


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) ||


More information about the svn-src-projects mailing list