[dm-devel] [PATCH 1 of 2] dm log userspace rearrange ctr args

Jonathan Brassow jbrassow at redhat.com
Fri Aug 28 05:34:50 UTC 2009


The internally generated constructor argument (device size) is
necessary for creating userspace logs.  However, it is difficult
to strip out from our stored string when we wish to print
back what the original string we were given.

The fix is simply to re-order the arguments in the string -
putting the internally generated argument first instead of
last.  (This makes it easy to skip over it later.)

Signed-off-by: Jonathan Brassow <jbrassow at redhat.com>

Index: linux-2.6/drivers/md/dm-log-userspace-base.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-log-userspace-base.c
+++ linux-2.6/drivers/md/dm-log-userspace-base.c
@@ -111,10 +111,9 @@ static int build_constructor_string(stru
 		return -ENOMEM;
 	}
 
-	for (i = 0, str_size = 0; i < argc; i++)
-		str_size += sprintf(str + str_size, "%s ", argv[i]);
-	str_size += sprintf(str + str_size, "%llu",
-			    (unsigned long long)ti->len);
+	str_size = sprintf(str, "%llu", (unsigned long long)ti->len);
+	for (i = 0; i < argc; i++)
+		str_size += sprintf(str + str_size, " %s", argv[i]);
 
 	*ctr_str = str;
 	return str_size;





More information about the dm-devel mailing list