summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinz Mauelshagen <heinzm@redhat.com>2017-03-07 23:28:09 +0100
committerHeinz Mauelshagen <heinzm@redhat.com>2017-03-07 23:28:09 +0100
commit3a5561e5ab5c916df8f90cc880ce2acb04ee2ecb (patch)
tree0aa7ff92614c4a1a46c2d5244c5bd3faa96d6c68
parentaedac100f9474bb9b5184f9c6efbc25d49eb742a (diff)
downloadlvm2-3a5561e5ab5c916df8f90cc880ce2acb04ee2ecb.tar.gz
raid: define seg->extents_copied
seg->extents_copied has to be defined properly on reducing the size of a raid LV or conversion from raid5 with 1 stripe to raid1 will fail. Related: rhbz834579 Related: rhbz1191935 Related: rhbz1191978
-rw-r--r--lib/metadata/lv_manip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index f0c3058d9..90c61aa49 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -1393,6 +1393,8 @@ static int _lv_reduce(struct logical_volume *lv, uint32_t extents, int delete)
lv->le_count -= extents;
lv->size = (uint64_t) lv->le_count * lv->vg->extent_size;
+ if (seg)
+ seg->extents_copied = seg->len;
if (!delete)
return 1;