You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.1 KiB
62 lines
2.1 KiB
WHATS_NEW | 1 + |
|
lib/metadata/raid_manip.c | 3 +++ |
|
test/shell/lvconvert-raid0-striped.sh | 25 +++++++++++++++++++++++++ |
|
3 files changed, 29 insertions(+) |
|
create mode 100644 test/shell/lvconvert-raid0-striped.sh |
|
|
|
diff --git a/WHATS_NEW b/WHATS_NEW |
|
index 6560357..e3eee56 100644 |
|
--- a/WHATS_NEW |
|
+++ b/WHATS_NEW |
|
@@ -1,5 +1,6 @@ |
|
Version 2.02.182 - |
|
============================== |
|
+ Fix lvconvert raid0/raid0_meta -> striped regression. |
|
Fix lvconvert --splitmirror for mirror type (2.02.178). |
|
Do not pair cache policy and cache metadata format. |
|
|
|
diff --git a/lib/metadata/raid_manip.c b/lib/metadata/raid_manip.c |
|
index 705a7f9..804f78b 100644 |
|
--- a/lib/metadata/raid_manip.c |
|
+++ b/lib/metadata/raid_manip.c |
|
@@ -6136,6 +6136,9 @@ static int _set_convenient_raid145610_segtype_to(const struct lv_segment *seg_fr |
|
if (seg_from->area_count == 1) |
|
seg_flag = SEG_RAID1; |
|
|
|
+ else if (seg_is_any_raid0(seg_from) && segtype_is_striped(*segtype)) |
|
+ ; |
|
+ |
|
/* If this is any raid5 conversion request -> enforce raid5_n, because we convert from striped */ |
|
else if (((segtype_is_striped(*segtype) && !segtype_is_any_raid0(*segtype)) || segtype_is_any_raid5(*segtype)) && |
|
!segtype_is_raid5_n(*segtype)) |
|
diff --git a/test/shell/lvconvert-raid0-striped.sh b/test/shell/lvconvert-raid0-striped.sh |
|
new file mode 100644 |
|
index 0000000..4521b34 |
|
--- /dev/null |
|
+++ b/test/shell/lvconvert-raid0-striped.sh |
|
@@ -0,0 +1,25 @@ |
|
+#!/usr/bin/env bash |
|
+ |
|
+# Copyright (C) 2018 Red Hat, Inc. All rights reserved. |
|
+# |
|
+# This copyrighted material is made available to anyone wishing to use, |
|
+# modify, copy, or redistribute it subject to the terms and conditions |
|
+# of the GNU General Public License v.2. |
|
+# |
|
+# You should have received a copy of the GNU General Public License |
|
+# along with this program; if not, write to the Free Software Foundation, |
|
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
+ |
|
+ |
|
+SKIP_WITH_LVMPOLLD=1 |
|
+ |
|
+. lib/inittest |
|
+ |
|
+aux have_raid 1 7 0 || skip |
|
+ |
|
+aux prepare_vg 3 16 |
|
+ |
|
+lvcreate -aey --type raid0 -i 3 -l3 -n $lv $vg |
|
+lvconvert -y --type striped $vg/$lv |
|
+check lv_field $vg/$lv segtype "striped" |
|
+vgremove -ff $vg
|
|
|