This is the mail archive of the lvm2-cvs@sourceware.org mailing list for the LVM2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

LVM2 ./WHATS_NEW dmeventd/mirror/dmeventd_mirr ...


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2006-08-21 12:04:55

Modified files:
	.              : WHATS_NEW 
	dmeventd/mirror: dmeventd_mirror.c 
	lib/activate   : dev_manager.c 
	lib/filters    : filter-sysfs.c 
	lib/misc       : lvm-string.c lvm-string.h 
	man            : Makefile.in 

Log message:
	Add dm_split_words() and dm_split_lvm_name() to libdevmapper.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.428&r2=1.429
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/dmeventd/mirror/dmeventd_mirror.c.diff?cvsroot=lvm2&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.113&r2=1.114
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/filters/filter-sysfs.c.diff?cvsroot=lvm2&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/misc/lvm-string.c.diff?cvsroot=lvm2&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/misc/lvm-string.h.diff?cvsroot=lvm2&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/man/Makefile.in.diff?cvsroot=lvm2&r1=1.16&r2=1.17

--- LVM2/WHATS_NEW	2006/08/18 21:49:19	1.428
+++ LVM2/WHATS_NEW	2006/08/21 12:04:54	1.429
@@ -1,5 +1,6 @@
 Version 2.02.10 - 
 ==================================
+  Move split_words() and split_dm_name() into libdevmapper.
   Add lvconvert man page.
   Add mirror options to man pages.
   Prevent mirror renames.
--- LVM2/dmeventd/mirror/dmeventd_mirror.c	2006/07/04 18:57:27	1.7
+++ LVM2/dmeventd/mirror/dmeventd_mirror.c	2006/08/21 12:04:54	1.8
@@ -48,7 +48,7 @@
 	char *p;
 	int log_argc, num_devs, num_failures=0;
 
-	if (max_args <= split_words(params, max_args, args)) {
+	if (max_args <= dm_split_words(params, max_args, 0, args)) {
 		syslog(LOG_ERR, "Unable to split mirror parameters: Arg list too long");
 		return -E2BIG;
 	}
@@ -121,7 +121,7 @@
 	if (strlen(device) > 200)
 		return -ENAMETOOLONG;
 
-	if (!split_dm_name(mem_pool, device, &vg, &lv, &layer)) {
+	if (!dm_split_lvm_name(mem_pool, device, &vg, &lv, &layer)) {
 		syslog(LOG_ERR, "Unable to determine VG name from %s",
 		       device);
 		return -ENOMEM;
--- LVM2/lib/activate/dev_manager.c	2006/08/08 21:20:00	1.113
+++ LVM2/lib/activate/dev_manager.c	2006/08/21 12:04:55	1.114
@@ -912,7 +912,7 @@
 		name = dm_tree_node_get_name(child);
 
 		if (name && lvlayer->old_name && *lvlayer->old_name && strcmp(name, lvlayer->old_name)) {
-	        	if (!split_dm_name(dm->mem, lvlayer->old_name, &vgname, &lvname, &layer)) {
+	        	if (!dm_split_lvm_name(dm->mem, lvlayer->old_name, &vgname, &lvname, &layer)) {
                 		log_error("_create_lv_symlinks: Couldn't split up old device name %s", lvlayer->old_name);
                 		return 0;
         		}
@@ -938,7 +938,7 @@
 		if (!(uuid = dm_tree_node_get_uuid(child)))
 			continue;
 
-        	if (!split_dm_name(dm->mem, name, &vgname, &lvname, &layer)) {
+        	if (!dm_split_lvm_name(dm->mem, name, &vgname, &lvname, &layer)) {
                 	log_error("_clean_tree: Couldn't split up device name %s.", name);
                 	return 0;
         	}
--- LVM2/lib/filters/filter-sysfs.c	2006/04/19 15:33:06	1.11
+++ LVM2/lib/filters/filter-sysfs.c	2006/08/21 12:04:55	1.12
@@ -44,7 +44,7 @@
 	}
 
 	while (fgets(buffer, sizeof(buffer), fp)) {
-		if (split_words(buffer, 4, split) == 4 &&
+		if (dm_split_words(buffer, 4, 0, split) == 4 &&
 		    !strcmp(split[2], "sysfs")) {
 			if (lvm_snprintf(path, len, "%s/%s", split[1],
 					 "block") >= 0) {
--- LVM2/lib/misc/lvm-string.c	2006/04/28 17:01:07	1.10
+++ LVM2/lib/misc/lvm-string.c	2006/08/21 12:04:55	1.11
@@ -17,8 +17,6 @@
 #include "lvm-types.h"
 #include "lvm-string.h"
 
-#include <ctype.h>
-
 /*
  * On error, up to glibc 2.0.6, snprintf returned -1 if buffer was too small;
  * From glibc 2.1 it returns number of chars (excl. trailing null) that would 
@@ -59,47 +57,6 @@
 }
 
 /*
- * consume characters while they match the predicate function.
- */
-static char *_consume(char *buffer, int (*fn) (int))
-{
-	while (*buffer && fn(*buffer))
-		buffer++;
-
-	return buffer;
-}
-
-static int _isword(int c)
-{
-	return !isspace(c);
-}
-
-/*
- * Split buffer into NULL-separated words in argv.
- * Returns number of words.
- */
-int split_words(char *buffer, unsigned max, char **argv)
-{
-	unsigned arg;
-
-	for (arg = 0; arg < max; arg++) {
-		buffer = _consume(buffer, isspace);
-		if (!*buffer)
-			break;
-
-		argv[arg] = buffer;
-		buffer = _consume(buffer, _isword);
-
-		if (*buffer) {
-			*buffer = '\0';
-			buffer++;
-		}
-	}
-
-	return arg;
-}
-
-/*
  * Device layer names are all of the form <vg>-<lv>-<layer>, any
  * other hyphens that appear in these names are quoted with yet
  * another hyphen.  The top layer of any device has no layer
@@ -169,47 +126,6 @@
 	return r;
 }
 
-/*
- * Remove hyphen quoting from a component of a name.
- * NULL-terminates the component and returns start of next component.
- */
-static char *_unquote(char *component)
-{
-	char *c = component;
-	char *o = c;
-	char *r;
-
-	while (*c) {
-		if (*(c + 1)) {
-			if (*c == '-') {
-				if (*(c + 1) == '-')
-					c++;
-				else
-					break;
-			}
-		}
-		*o = *c;
-		o++;
-		c++;
-	}
-
-	r = (*c) ? c + 1 : c;
-	*o = '\0';
-
-	return r;
-}
-
-int split_dm_name(struct dm_pool *mem, const char *dmname,
-		  char **vgname, char **lvname, char **layer)
-{
-	if (!(*vgname = dm_pool_strdup(mem, dmname)))
-		return 0;
-
-	_unquote(*layer = _unquote(*lvname = _unquote(*vgname)));
-
-	return 1;
-}
-
 int validate_name(const char *n)
 {
 	register char c;
--- LVM2/lib/misc/lvm-string.h	2006/04/19 15:33:06	1.11
+++ LVM2/lib/misc/lvm-string.h	2006/08/21 12:04:55	1.12
@@ -34,14 +34,9 @@
 
 int emit_to_buffer(char **buffer, size_t *size, const char *fmt, ...);
 
-int split_words(char *buffer, unsigned max, char **argv);
-
 char *build_dm_name(struct dm_pool *mem, const char *vg,
                     const char *lv, const char *layer);
 
-int split_dm_name(struct dm_pool *mem, const char *dmname,
-                  char **vgname, char **lvname, char **layer);
-
 int validate_name(const char *n);
 
 #endif
--- LVM2/man/Makefile.in	2006/08/18 21:49:19	1.16
+++ LVM2/man/Makefile.in	2006/08/21 12:04:55	1.17
@@ -17,7 +17,7 @@
 VPATH = @srcdir@
 
 MAN5=lvm.conf.5
-MAN8=lvchange.8 lvconvert.8 lvcreate.8 lvdisplay.8 lvextend.8 lvm.8
+MAN8=lvchange.8 lvconvert.8 lvcreate.8 lvdisplay.8 lvextend.8 lvm.8 \
 	lvmchange.8 \
 	lvmdiskscan.8 lvreduce.8 lvremove.8 lvrename.8 lvresize.8 lvs.8 \
 	lvscan.8 pvchange.8 pvcreate.8 pvdisplay.8 pvmove.8 pvremove.8 \


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]