diff --git a/WHATS_NEW b/WHATS_NEW index 6b426e412..fdf2c3a11 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.177 - ==================================== + Prevent start of new merge of snapshot if origin is already being merged. Version 2.02.176 - 3rd November 2017 ==================================== diff --git a/tools/lvconvert.c b/tools/lvconvert.c index 3a025c735..438f34b9d 100644 --- a/tools/lvconvert.c +++ b/tools/lvconvert.c @@ -2008,6 +2008,15 @@ static int _lvconvert_merge_old_snapshot(struct cmd_context *cmd, struct lvinfo info; dm_percent_t snap_percent; + /* Check if merge is possible */ + if (lv_is_merging_origin(origin)) { + log_error("Cannot merge snapshot %s into the origin %s " + "with merging snapshot %s.", + display_lvname(lv), display_lvname(origin), + display_lvname(find_snapshot(origin)->lv)); + return 0; + } + if (lv_is_external_origin(origin_from_cow(lv))) { log_error("Cannot merge snapshot \"%s\" into " "the read-only external origin \"%s\".",