diff options
author | Jonathan Earl Brassow <jbrassow@redhat.com> | 2011-09-14 02:45:36 +0000 |
---|---|---|
committer | Jonathan Earl Brassow <jbrassow@redhat.com> | 2011-09-14 02:45:36 +0000 |
commit | 9cb27929e95e6c89e0b1d1350d57ff6f0440f3de (patch) | |
tree | 7b3bb31f67faf9f50b29bfec5dd0b10022d99a26 /daemons/dmeventd/dmeventd.c | |
parent | 46f0efbfce7bf9a7fccc410931636b1b5a006998 (diff) | |
download | lvm2-9cb27929e95e6c89e0b1d1350d57ff6f0440f3de.tar.gz lvm2-9cb27929e95e6c89e0b1d1350d57ff6f0440f3de.tar.xz lvm2-9cb27929e95e6c89e0b1d1350d57ff6f0440f3de.zip |
Fix for bug 734252 - problem up converting striped mirror after image failure
lv_mirror_count was not able to handle mirrors of stripes properly. When a
failed device is removed, the MIRRORED status flag is removed from the LV
conditionally based on the results of lv_mirror_count. However, lv_mirror_count
trusted the MIRRORED flag - thinking any such LV must be mirrored. It would
happily assign first_seg(lv)->area_count as the number of mirrors, but when
a mirrored striped LV was reduced to a simple striped LV area_count would be
the number of /stripes/ not the number of /mirrors/. A result higher than 1
would be returned from lv_mirror_count, the MIRRORED flag would not be cleared,
and the LV would fail to be up-converted properly in lvconvert_mirrors_aux
because of it.
Diffstat (limited to 'daemons/dmeventd/dmeventd.c')
0 files changed, 0 insertions, 0 deletions