master - cleanup: update check function

Zdenek Kabelac <[email protected]> Wed, 20 Jan 2016 12:53:54 +0000 (UTC)
Newsgroups dev.linux.lists.lvm-devel
Message-ID <[email protected]>
Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=178cbb580a9c07b777a2abf1e82d250310531e86
Commit:        178cbb580a9c07b777a2abf1e82d250310531e86
Parent:        4b9ae55a8d691eb15d34dce74f00230bd2423c5b
Author:        Zdenek Kabelac <[email protected]>
AuthorDate:    Fri Jan 15 14:41:02 2016 +0100
Committer:     Zdenek Kabelac <[email protected]>
CommitterDate: Wed Jan 20 13:44:47 2016 +0100

cleanup: update check function

Use display_lvname().
Use lv_is_lockd_sanlock_lv().
Order  'error' checks ahead of 'ignore' ones.
---
 lib/metadata/lv_manip.c |   54 ++++++++++++++++++++++++----------------------
 1 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 1975c83..13e088c 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -4614,7 +4614,8 @@ static int _lvresize_check_lv(struct cmd_context *cmd, struct logical_volume *lv
 		 * Since external-origin can be activated read-only,
 		 * there is no way to use extended areas.
 		 */
-		log_error("Cannot resize external origin \"%s\".", lv->name);
+		log_error("Cannot resize external origin logical volume %s.",
+			  display_lvname(lv));
 		return 0;
 	}
 
@@ -4626,47 +4627,31 @@ static int _lvresize_check_lv(struct cmd_context *cmd, struct logical_volume *lv
 	}
 
 	if (lv_is_raid_with_tracking(lv)) {
-		log_error("Cannot resize %s while it is tracking a split image",
-			  lv->name);
+		log_error("Cannot resize logical volume %s while it is "
+			  "tracking a split image.", display_lvname(lv));
 		return 0;
 	}
 
-	if (lp->ac_stripes) {
-		if (vg->fid->fmt->features & FMT_SEGMENTS)
-			lp->stripes = lp->ac_stripes_value;
-		else
-			log_print_unless_silent("Varied striping not supported. Ignoring.");
-	}
-
-	if (lp->ac_mirrors) {
-		if (vg->fid->fmt->features & FMT_SEGMENTS)
-			lp->mirrors = lp->ac_mirrors_value;
-		else
-			log_print_unless_silent("Mirrors not supported. Ignoring.");
-	}
-
-	if (lp->ac_stripesize && !_validate_stripesize(cmd, vg, lp))
-		return_0;
-
 	if (lp->ac_policy && !lv_is_cow(lv) && !lv_is_thin_pool(lv)) {
 		log_error("Policy-based resize is supported only for snapshot and thin pool volumes.");
 		return 0;
 	}
 
-	/* FIXME: use a status flag instead of the name "lvmlock". */
-
-	if (!lv_is_visible(lv) && !lv_is_thin_pool_metadata(lv) && strcmp(lv->name, "lvmlock")) {
-		log_error("Can't resize internal logical volume %s", lv->name);
+	if (!lv_is_visible(lv) &&
+	    !lv_is_thin_pool_metadata(lv) &&
+	    !lv_is_lockd_sanlock_lv(lv)) {
+		log_error("Can't resize internal logical volume %s.", display_lvname(lv));
 		return 0;
 	}
 
 	if (lv_is_locked(lv)) {
-		log_error("Can't resize locked LV %s", lv->name);
+		log_error("Can't resize locked logical volume %s.", display_lvname(lv));
 		return 0;
 	}
 
 	if (lv_is_converting(lv)) {
-		log_error("Can't resize %s while lvconvert in progress", lv->name);
+		log_error("Can't resize logical volume %s while "
+			  "lvconvert in progress.", display_lvname(lv));
 		return 0;
 	}
 
@@ -4675,6 +4660,23 @@ static int _lvresize_check_lv(struct cmd_context *cmd, struct logical_volume *lv
 		return 0;
 	}
 
+	if (lp->ac_stripesize && !_validate_stripesize(cmd, vg, lp))
+		return_0;
+
+	if (lp->ac_stripes) {
+		if (!(vg->fid->fmt->features & FMT_SEGMENTS))
+			log_print_unless_silent("Varied striping not supported. Ignoring.");
+		else
+			lp->stripes = lp->ac_stripes_value;
+	}
+
+	if (lp->ac_mirrors) {
+		if (!(vg->fid->fmt->features & FMT_SEGMENTS))
+			log_print_unless_silent("Mirrors not supported. Ignoring.");
+		else
+			lp->mirrors = lp->ac_mirrors_value;
+	}
+
 	return 1;
 }