svn commit: r218404 - projects/graid/head/sys/geom/raid

Alexander Motin mav at FreeBSD.org
Mon Feb 7 15:30:11 UTC 2011


Author: mav
Date: Mon Feb  7 15:30:11 2011
New Revision: 218404
URL: http://svn.freebsd.org/changeset/base/218404

Log:
  Block metadata writing when active array destruction started. Otherwise
  we have real chances to write something half-destroyed.

Modified:
  projects/graid/head/sys/geom/raid/g_raid.c
  projects/graid/head/sys/geom/raid/md_intel.c

Modified: projects/graid/head/sys/geom/raid/g_raid.c
==============================================================================
--- projects/graid/head/sys/geom/raid/g_raid.c	Mon Feb  7 15:18:36 2011	(r218403)
+++ projects/graid/head/sys/geom/raid/g_raid.c	Mon Feb  7 15:30:11 2011	(r218404)
@@ -1918,6 +1918,8 @@ void g_raid_write_metadata(struct g_raid
     struct g_raid_subdisk *sd, struct g_raid_disk *disk)
 {
 
+	if (sc->sc_stopping == G_RAID_DESTROY_HARD)
+		return;
 	if (sc->sc_md)
 		G_RAID_MD_WRITE(sc->sc_md, vol, sd, disk);
 }

Modified: projects/graid/head/sys/geom/raid/md_intel.c
==============================================================================
--- projects/graid/head/sys/geom/raid/md_intel.c	Mon Feb  7 15:18:36 2011	(r218403)
+++ projects/graid/head/sys/geom/raid/md_intel.c	Mon Feb  7 15:30:11 2011	(r218404)
@@ -1972,6 +1972,9 @@ g_raid_md_write_intel(struct g_raid_md_o
 	sc = md->mdo_softc;
 	mdi = (struct g_raid_md_intel_object *)md;
 
+	if (sc->sc_stopping == G_RAID_DESTROY_HARD)
+		return (0);
+
 	/* Bump generation. Newly written metadata may differ from previous. */
 	mdi->mdio_generation++;
 


More information about the svn-src-projects mailing list