This is the mail archive of the
lvm2-cvs@sourceware.org
mailing list for the LVM2 project.
LVM2 ./WHATS_NEW dmeventd/mirror/dmeventd_mirr ...
- From: agk at sourceware dot org
- To: lvm2-cvs at sourceware dot org
- Date: 21 Aug 2006 12:04:56 -0000
- Subject: 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 \