Author: lulf
Date: Wed May  6 19:06:28 2009
New Revision: 191854
URL: http://svn.freebsd.org/changeset/base/191854

Log:
  - Check if any plexes are doing internal maintenance before removing them.

Modified:
  head/sys/geom/vinum/geom_vinum_rm.c

Modified: head/sys/geom/vinum/geom_vinum_rm.c
==============================================================================
--- head/sys/geom/vinum/geom_vinum_rm.c Wed May  6 18:37:32 2009        
(r191853)
+++ head/sys/geom/vinum/geom_vinum_rm.c Wed May  6 19:06:28 2009        
(r191854)
@@ -172,6 +172,13 @@ gv_resetconfig(struct gv_softc *sc)
                        return (GV_ERR_ISBUSY);
                }
        }
+
+       /* Make sure nothing is going on internally. */
+       LIST_FOREACH_SAFE(p, &sc->plexes, plex, p2) {
+               if (p->flags & (GV_PLEX_REBUILDING | GV_PLEX_GROWING))
+                       return (GV_ERR_ISBUSY);
+       }
+
        /* Then if not, we remove everything. */
        LIST_FOREACH_SAFE(s, &sc->subdisks, sd, s2)
                gv_rm_sd(sc, s);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to