svn commit: r246182 - stable/9/sys/geom/raid

Alexander Motin mav at FreeBSD.org
Thu Jan 31 22:26:49 UTC 2013


Author: mav
Date: Thu Jan 31 22:26:48 2013
New Revision: 246182
URL: http://svnweb.freebsd.org/changeset/base/246182

Log:
  MFC r245400:
  Windows driver writes relative volume IDs to metadata field.  Use that value
  as a hint for raid/rX device number to make it persistent across reboots.

Modified:
  stable/9/sys/geom/raid/md_intel.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/geom/raid/md_intel.c
==============================================================================
--- stable/9/sys/geom/raid/md_intel.c	Thu Jan 31 22:24:46 2013	(r246181)
+++ stable/9/sys/geom/raid/md_intel.c	Thu Jan 31 22:26:48 2013	(r246182)
@@ -1150,7 +1150,7 @@ g_raid_md_intel_start(struct g_raid_soft
 	for (i = 0; i < meta->total_volumes; i++) {
 		mvol = intel_get_volume(meta, i);
 		mmap = intel_get_map(mvol, 0);
-		vol = g_raid_create_volume(sc, mvol->name, -1);
+		vol = g_raid_create_volume(sc, mvol->name, mvol->tid - 1);
 		pv = malloc(sizeof(*pv), M_MD_INTEL, M_WAITOK | M_ZERO);
 		pv->pv_volume_pos = i;
 		pv->pv_cng = (mvol->state & INTEL_ST_CLONE_N_GO) != 0;
@@ -2352,6 +2352,7 @@ g_raid_md_write_intel(struct g_raid_md_o
 		mvol->total_sectors = vol->v_mediasize / sectorsize;
 		mvol->state = (INTEL_ST_READ_COALESCING |
 		    INTEL_ST_WRITE_COALESCING);
+		mvol->tid = vol->v_global_id + 1;
 		if (pv->pv_cng) {
 			mvol->state |= INTEL_ST_CLONE_N_GO;
 			if (pv->pv_cng_man_sync)


More information about the svn-src-all mailing list