diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-02-08 13:02:07 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-02-08 13:02:07 +0000 |
commit | 94f88a4f1478d7b519858913ff5612cf1e3cdb5d (patch) | |
tree | 1f447fa522e5b4fd96537cd3d83e1c8cdb7742c9 /lib/metadata/lv_manip.c | |
parent | a13efe56655a0b878b1479cf31a810e6221b9430 (diff) | |
download | lvm2-94f88a4f1478d7b519858913ff5612cf1e3cdb5d.tar.gz lvm2-94f88a4f1478d7b519858913ff5612cf1e3cdb5d.tar.xz lvm2-94f88a4f1478d7b519858913ff5612cf1e3cdb5d.zip |
Fix test for lv_snapshot_percent
Do not check for PERCENT_MERGE_FAILED if the lv_snapshot_percent() failed.
(test for snap_percent would be testing uninitialized value).
Diffstat (limited to 'lib/metadata/lv_manip.c')
-rw-r--r-- | lib/metadata/lv_manip.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 337401d2..252a5563 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -3315,14 +3315,14 @@ int lv_remove_with_dependencies(struct cmd_context *cmd, struct logical_volume * if (lv_is_merging_cow(lv) && !level) { if (lv_info(lv->vg->cmd, lv, 0, &info, 1, 0) && info.exists && info.live_table) { - if (lv_snapshot_percent(lv, &snap_percent) && - ((snap_percent != PERCENT_INVALID) && - (snap_percent != PERCENT_MERGE_FAILED))) { + if (!lv_snapshot_percent(lv, &snap_percent)) + return_0; + if ((snap_percent != PERCENT_INVALID) && + (snap_percent != PERCENT_MERGE_FAILED)) { log_error("Can't remove merging snapshot logical volume \"%s\"", lv->name); return 0; - } - else if ((snap_percent == PERCENT_MERGE_FAILED) && + } else if ((snap_percent == PERCENT_MERGE_FAILED) && (force == PROMPT) && yes_no_prompt("Removing snapshot \"%s\" that failed to merge may leave origin \"%s\" inconsistent. " "Proceed? [y/n]: ", lv->name, origin_from_cow(lv)->name) == 'n') { |