svn commit: r218740 - projects/graid/head/sys/geom/raid
Alexander Motin
mav at FreeBSD.org
Wed Feb 16 15:27:55 UTC 2011
Author: mav
Date: Wed Feb 16 15:27:54 2011
New Revision: 218740
URL: http://svn.freebsd.org/changeset/base/218740
Log:
Fix SINGLE on JMicron.
Modified:
projects/graid/head/sys/geom/raid/md_jmicron.c
Modified: projects/graid/head/sys/geom/raid/md_jmicron.c
==============================================================================
--- projects/graid/head/sys/geom/raid/md_jmicron.c Wed Feb 16 15:24:56 2011 (r218739)
+++ projects/graid/head/sys/geom/raid/md_jmicron.c Wed Feb 16 15:27:54 2011 (r218740)
@@ -390,6 +390,8 @@ g_raid_md_jmicron_supported(int level, i
case G_RAID_VOLUME_RL_SINGLE:
if (disks != 1)
return (0);
+ if (!force)
+ return (0);
break;
case G_RAID_VOLUME_RL_CONCAT:
if (disks < 2)
@@ -666,7 +668,10 @@ g_raid_md_jmicron_start(struct g_raid_so
vol->v_raid_level = G_RAID_VOLUME_RL_RAID1E;
vol->v_mediasize = size * mdi->mdio_total_disks / 2;
} else if (meta->type == JMICRON_T_CONCAT) {
- vol->v_raid_level = G_RAID_VOLUME_RL_CONCAT;
+ if (mdi->mdio_total_disks == 1)
+ vol->v_raid_level = G_RAID_VOLUME_RL_SINGLE;
+ else
+ vol->v_raid_level = G_RAID_VOLUME_RL_CONCAT;
vol->v_mediasize = 0;
} else if (meta->type == JMICRON_T_RAID5) {
vol->v_raid_level = G_RAID_VOLUME_RL_RAID5;
@@ -1190,7 +1195,8 @@ g_raid_md_ctl_jmicron(struct g_raid_md_o
vol->v_strip_size = strip;
vol->v_disks_count = numdisks;
if (level == G_RAID_VOLUME_RL_RAID0 ||
- level == G_RAID_VOLUME_RL_CONCAT)
+ level == G_RAID_VOLUME_RL_CONCAT ||
+ level == G_RAID_VOLUME_RL_SINGLE)
vol->v_mediasize = size * numdisks;
else if (level == G_RAID_VOLUME_RL_RAID1)
vol->v_mediasize = size;
@@ -1427,7 +1433,8 @@ g_raid_md_write_jmicron(struct g_raid_md
meta->type = JMICRON_T_RAID1;
else if (vol->v_raid_level == G_RAID_VOLUME_RL_RAID1E)
meta->type = JMICRON_T_RAID01;
- else if (vol->v_raid_level == G_RAID_VOLUME_RL_CONCAT)
+ else if (vol->v_raid_level == G_RAID_VOLUME_RL_CONCAT ||
+ vol->v_raid_level == G_RAID_VOLUME_RL_SINGLE)
meta->type = JMICRON_T_CONCAT;
else
meta->type = JMICRON_T_RAID5;
More information about the svn-src-projects
mailing list