diff --git a/WHATS_NEW b/WHATS_NEW index 983bc1a58..be549b845 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,7 @@ Version 2.02.112 - ===================================== + Add missing backup of lvm2 metadata after some raid modifications. + Use vg memory pool for extent allocation. Add allocation/physical_extent_size config option for default PE size of VGs. Introduce common code to modify metadate and reload updated LV. Fix rename of active snapshot volume in cluster. diff --git a/lib/metadata/raid_manip.c b/lib/metadata/raid_manip.c index d39dbc8fa..91cc0dd88 100644 --- a/lib/metadata/raid_manip.c +++ b/lib/metadata/raid_manip.c @@ -13,6 +13,7 @@ */ #include "lib.h" +#include "archiver.h" #include "metadata.h" #include "toolcontext.h" #include "segtype.h" @@ -695,11 +696,13 @@ to be left for these sub-lvs. rebuild_flag_cleared = 1; } } - if (rebuild_flag_cleared && - (!vg_write(lv->vg) || !vg_commit(lv->vg))) { - log_error("Failed to clear REBUILD flag for %s/%s components", - lv->vg->name, lv->name); - return 0; + if (rebuild_flag_cleared) { + if (!vg_write(lv->vg) || !vg_commit(lv->vg)) { + log_error("Failed to clear REBUILD flag for %s/%s components", + lv->vg->name, lv->name); + return 0; + } + backup(lv->vg); } return 1; @@ -978,6 +981,8 @@ static int _raid_remove_images(struct logical_volume *lv, return_0; } + backup(lv->vg); + return 1; } @@ -1149,6 +1154,8 @@ int lv_raid_split(struct logical_volume *lv, const char *split_name, if (!vg_write(lv->vg) || !vg_commit(lv->vg)) return_0; + backup(lv->vg); + return 1; }