]> sourceware.org Git - lvm2.git/commit
pvmove: fix pvmove --abort or pvmove w/o parameters
authorOndrej Kozina <okozina@redhat.com>
Mon, 30 Mar 2015 14:25:04 +0000 (16:25 +0200)
committerOndrej Kozina <okozina@redhat.com>
Mon, 30 Mar 2015 16:38:50 +0000 (18:38 +0200)
commitc282a66132063d702d1df1e342961f75a5ffcdd2
tree99f185322a5bafcd99c4a68e14d13871949cba34
parent7c66850ce506d9a8bdae74f999a658507943d57c
pvmove: fix pvmove --abort or pvmove w/o parameters

_check_lv_status was called from within dm_list_iterate_items cycle.
This was utterly wrong! _check_lv_status may remove more than one LV from
vg->lvs list we iterated in the same time.

In some scenarios this could lead to deadlock iterationg over same LV
indefinitely or segfault depending on the circumstances.

Fixed by moving the _check_lv_status outside iterating the vg->lvs
list.

Note that commit 6e7b24d34ff3da1c56718bb7def8a8ecd4258c43 was not enough
as _check_lv_status may result in removal of more than one LV from the list.
tools/polldaemon.c
This page took 0.031243 seconds and 5 git commands to generate.