Version 2.02.57 -
====================================
+ Resume renamed volumes in reverse order to preserve memlock pairing.
Drop metadata cache after device was autorepaired and removed from VG.
Remove missing flag in metadata if PV reappeared and is empty.
Destroy allocated mempool in _vg_read_orphans() error path.
struct volume_group *vg = lv->vg;
struct lv_names lv_names;
DM_LIST_INIT(lvs_changed);
- struct lv_list lvl, lvl2;
+ struct lv_list lvl, lvl2, *lvlp;
int r = 0;
/* rename is not allowed on sub LVs */
if (!(r = vg_commit(vg)))
stack;
- resume_lvs(cmd, &lvs_changed);
+ /*
+ * FIXME: resume LVs in reverse order to prevent memory
+ * lock imbalance when resuming virtual snapshot origin
+ * (resume of snapshot resumes origin too)
+ */
+ dm_list_iterate_back_items(lvlp, &lvs_changed)
+ resume_lv(cmd, lvlp->lv);
out:
backup(vg);
return r;