[lvm-devel] master - cleanup: use path on stack

Zdenek Kabelac zkabelac at sourceware.org
Tue Mar 13 12:13:07 UTC 2018


Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e095586d9e280877be336ed312368e657114ce14
Commit:        e095586d9e280877be336ed312368e657114ce14
Parent:        0edd89fadc3725080136e3d5a638d7df4abe9b95
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Fri Mar 9 12:59:13 2018 +0100
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Mar 13 12:57:08 2018 +0100

cleanup: use path on stack

---
 lib/metadata/mirror.c |   16 +++++-----------
 1 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/lib/metadata/mirror.c b/lib/metadata/mirror.c
index 4a0e99f..6419b5c 100644
--- a/lib/metadata/mirror.c
+++ b/lib/metadata/mirror.c
@@ -270,7 +270,7 @@ int shift_mirror_images(struct lv_segment *mirrored_seg, unsigned mimage)
 static int _write_log_header(struct cmd_context *cmd, struct logical_volume *lv)
 {
 	struct device *dev;
-	char *name;
+	char name[PATH_MAX];
 	struct { /* The mirror log header */
 		uint32_t magic;
 		uint32_t version;
@@ -281,20 +281,14 @@ static int _write_log_header(struct cmd_context *cmd, struct logical_volume *lv)
 	log_header.version = xlate32(MIRROR_DISK_VERSION);
 	log_header.nr_regions = xlate64((uint64_t)-1);
 
-	if (!(name = dm_pool_alloc(cmd->mem, PATH_MAX))) {
-		log_error("Name allocation failed - log header not written (%s).",
+	if (dm_snprintf(name, sizeof(name), "%s%s/%s", cmd->dev_dir,
+			lv->vg->name, lv->name) < 0) {
+		log_error("Device path name too long - log header not written (%s).",
 			  display_lvname(lv));
 		return 0;
 	}
 
-	if (dm_snprintf(name, PATH_MAX, "%s%s/%s", cmd->dev_dir,
-			 lv->vg->name, lv->name) < 0) {
-		log_error("Name too long - log header not written (%s).",
-			  display_lvname(lv));
-		return 0;
-	}
-
-	log_verbose("Writing log header to device %s.", display_lvname(lv));
+	log_verbose("Writing log header for LV %s to device %s.", display_lvname(lv), name);
 
 	if (!(dev = dev_cache_get(name, NULL))) {
 		log_error("%s: not found: log header not written.", name);




More information about the lvm-devel mailing list