Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Feb 2011 15:30:11 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r218404 - projects/graid/head/sys/geom/raid
Message-ID:  <201102071530.p17FUBrb013714@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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++;
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102071530.p17FUBrb013714>