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