svn commit: r218418 - projects/graid/head/sys/geom/raid
Alexander Motin
mav at FreeBSD.org
Mon Feb 7 21:45:23 UTC 2011
Author: mav
Date: Mon Feb 7 21:45:22 2011
New Revision: 218418
URL: http://svn.freebsd.org/changeset/base/218418
Log:
Store REBUILD into metadata as VERIFY+FIX. At least my BIOS seems doesn't
support REPAIR migration type.
Modified:
projects/graid/head/sys/geom/raid/md_intel.c
Modified: projects/graid/head/sys/geom/raid/md_intel.c
==============================================================================
--- projects/graid/head/sys/geom/raid/md_intel.c Mon Feb 7 21:31:21 2011 (r218417)
+++ projects/graid/head/sys/geom/raid/md_intel.c Mon Feb 7 21:45:22 2011 (r218418)
@@ -74,6 +74,19 @@ struct intel_raid_vol {
uint8_t name[16];
u_int64_t total_sectors __packed;
uint32_t state;
+#define INTEL_ST_BOOTABLE 0x00000001
+#define INTEL_ST_BOOT_DEVICE 0x00000002
+#define INTEL_ST_READ_COALESCING 0x00000004
+#define INTEL_ST_WRITE_COALESCING 0x00000008
+#define INTEL_ST_LAST_SHUTDOWN_DIRTY 0x00000010
+#define INTEL_ST_HIDDEN_AT_BOOT 0x00000020
+#define INTEL_ST_CURRENTLY_HIDDEN 0x00000040
+#define INTEL_ST_VERIFY_AND_FIX 0x00000080
+#define INTEL_ST_MAP_STATE_UNINIT 0x00000100
+#define INTEL_ST_NO_AUTO_RECOVERY 0x00000200
+#define INTEL_ST_CLONE_N_GO 0x00000400
+#define INTEL_ST_CLONE_MAN_SYNC 0x00000800
+#define INTEL_ST_CNG_MASTER_DISK_NUM 0x00001000
uint32_t reserved;
uint8_t migr_priority;
uint8_t num_sub_vols;
@@ -2099,7 +2112,9 @@ g_raid_md_write_intel(struct g_raid_md_o
mvol->migr_type = INTEL_MT_REBUILD;
} else if (state == G_RAID_SUBDISK_S_RESYNC) {
mvol->migr_state = 1;
- mvol->migr_type = INTEL_MT_REPAIR;
+ /* mvol->migr_type = INTEL_MT_REPAIR; */
+ mvol->migr_type = INTEL_MT_VERIFY;
+ mvol->state |= INTEL_ST_VERIFY_AND_FIX;
} else
mvol->migr_state = 0;
mvol->dirty = (vol->v_dirty || stale);
More information about the svn-src-projects
mailing list