summaryrefslogtreecommitdiffstats
path: root/lib/metadata/lv_manip.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-02-08 13:02:07 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-02-08 13:02:07 +0000
commit94f88a4f1478d7b519858913ff5612cf1e3cdb5d (patch)
tree1f447fa522e5b4fd96537cd3d83e1c8cdb7742c9 /lib/metadata/lv_manip.c
parenta13efe56655a0b878b1479cf31a810e6221b9430 (diff)
downloadlvm2-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.c10
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') {