PERFORCE change 124887 for review
    Ulf Lilleengen 
    lulf at FreeBSD.org
       
    Wed Aug  8 02:41:27 PDT 2007
    
    
  
http://perforce.freebsd.org/chv.cgi?CH=124887
Change 124887 by lulf at lulf_carrot on 2007/08/08 09:41:18
	- Remember to remove subdisk from a drives subdisk list when a drive is
	  lost.
Affected files ...
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#11 edit
Differences ...
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#11 (text+ko) ====
@@ -157,7 +157,7 @@
 {
 	struct g_consumer *cp;
 	struct gv_drive *d2;
-	struct gv_sd *s;
+	struct gv_sd *s, *s2;
 	struct gv_freelist *fl, *fl2;
 
 	gv_set_drive_state(d, GV_DRIVE_DOWN,
@@ -195,8 +195,11 @@
 	d->freelist_entries = 0;
 	d->sdcount = 0;
 
-	LIST_FOREACH(s, &d->subdisks, from_drive)
+	/* Put the subdisk in tasted mode, and remove from drive list. */
+	LIST_FOREACH_SAFE(s, &d->subdisks, from_drive, s2) {
+		LIST_REMOVE(s, from_drive);
 		s->flags |= GV_SD_TASTED;
+	}
 
 	/*
 	 * Don't forget that gv_is_newer wants a "real" drive at the beginning
    
    
More information about the p4-projects
mailing list