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)
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to