svn commit: r245400 - head/sys/geom/raid
Alexander Motin
mav at FreeBSD.org
Mon Jan 14 00:38:53 UTC 2013
Author: mav
Date: Mon Jan 14 00:38:51 2013
New Revision: 245400
URL: http://svnweb.freebsd.org/changeset/base/245400
Log:
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:
head/sys/geom/raid/md_intel.c
Modified: head/sys/geom/raid/md_intel.c
==============================================================================
--- head/sys/geom/raid/md_intel.c Sun Jan 13 23:36:21 2013 (r245399)
+++ head/sys/geom/raid/md_intel.c Mon Jan 14 00:38:51 2013 (r245400)
@@ -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