mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-02 01:18:26 +03:00
pvmove: use safe version of iteration when iterating over vg->lvs list in _poll_vg
When we're iterating over LVs in _poll_vg fn, we need to use the safe version of iteration - the LV can be removed from the list which we're just iterating over if we're finishing or aborting pvmove operation.
This commit is contained in:
parent
361e2d8df7
commit
6e7b24d34f
@ -192,7 +192,7 @@ static int _poll_vg(struct cmd_context *cmd, const char *vgname,
|
||||
struct volume_group *vg, struct processing_handle *handle)
|
||||
{
|
||||
struct daemon_parms *parms = (struct daemon_parms *) handle->custom_handle;
|
||||
struct lv_list *lvl;
|
||||
struct lv_list *lvl, *tmp_lvl;
|
||||
struct logical_volume *lv;
|
||||
const char *name;
|
||||
int finished;
|
||||
@ -202,7 +202,7 @@ static int _poll_vg(struct cmd_context *cmd, const char *vgname,
|
||||
return ECMD_FAILED;
|
||||
}
|
||||
|
||||
dm_list_iterate_items(lvl, &vg->lvs) {
|
||||
dm_list_iterate_items_safe(lvl, tmp_lvl, &vg->lvs) {
|
||||
lv = lvl->lv;
|
||||
if (!(lv->status & parms->lv_type))
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user