[lvm-devel] main - lvremove: correct return code

Zdenek Kabelac zkabelac at sourceware.org
Mon Mar 8 19:39:51 UTC 2021


Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=843ee943ab4ff9d05817c6b59bd778cc4182ccc2
Commit:        843ee943ab4ff9d05817c6b59bd778cc4182ccc2
Parent:        3cbb751815ed545df905d49716444314beb5996c
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Mon Mar 8 20:24:04 2021 +0100
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Mar 8 20:24:04 2021 +0100

lvremove: correct return code

Need to return ECMD_FAILED from toollib code.
Add missing stack traces.
---
 lib/metadata/lv_manip.c | 4 ++--
 tools/toollib.c         | 5 ++---
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 5573e6f43..f580e5835 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -6610,7 +6610,7 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
 			    !lv_is_pending_delete(lv) &&
 			    lv_is_visible(lv)) {
 				if (vg->needs_write_and_commit && (!vg_write(vg) || !vg_commit(vg)))
-					return 0;
+					return_0;
 				if (yes_no_prompt("Do you really want to remove%s active "
 						  "%slogical volume %s? [y/n]: ",
 						  ask_discard ? " and DISCARD" : "",
@@ -6651,7 +6651,7 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
 	if (!lv_is_historical(lv) && (force == PROMPT) && ask_discard) {
 		/* try to store on disks already confirmed removals */
 		if (vg->needs_write_and_commit && (!vg_write(vg) || !vg_commit(vg)))
-			return 0;
+			return_0;
 		if (yes_no_prompt("Do you really want to remove and DISCARD "
 				  "logical volume %s? [y/n]: ",
 				  display_lvname(lv)) == 'n') {
diff --git a/tools/toollib.c b/tools/toollib.c
index 41e722c5c..28bfb8398 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -3218,9 +3218,8 @@ int process_each_lv_in_vg(struct cmd_context *cmd, struct volume_group *vg,
 
 	if (vg->needs_write_and_commit && (ret_max == ECMD_PROCESSED) &&
 	    (!vg_write(vg) || !vg_commit(vg)))
-		return_0;
-
-	if (vg->needs_backup)
+		ret_max = ECMD_FAILED;
+	else if (vg->needs_backup)
 		backup(vg);
 
 	if (lvargs_supplied) {




More information about the lvm-devel mailing list