svn commit: r188838 - head/sys/geom/part

Marcel Moolenaar marcel at FreeBSD.org
Thu Feb 19 20:10:32 PST 2009


Author: marcel
Date: Fri Feb 20 04:10:31 2009
New Revision: 188838
URL: http://svn.freebsd.org/changeset/base/188838

Log:
  Fix an infinite loop created when the last logical partition is
  removed.

Modified:
  head/sys/geom/part/g_part_ebr.c

Modified: head/sys/geom/part/g_part_ebr.c
==============================================================================
--- head/sys/geom/part/g_part_ebr.c	Fri Feb 20 02:48:58 2009	(r188837)
+++ head/sys/geom/part/g_part_ebr.c	Fri Feb 20 04:10:31 2009	(r188838)
@@ -561,9 +561,9 @@ g_part_ebr_write(struct g_part_table *ba
 		le32enc(p + 8, entry->ent.dp_start);
 		le32enc(p + 12, entry->ent.dp_size);
  
-		do {
-			next = LIST_NEXT(baseentry, gpe_entry);
-		} while (next != NULL && next->gpe_deleted);
+		next = LIST_NEXT(baseentry, gpe_entry);
+		while (next != NULL && next->gpe_deleted)
+			next = LIST_NEXT(next, gpe_entry);
 
 		p += DOSPARTSIZE;
 		if (next != NULL)


More information about the svn-src-all mailing list