[PATCH] update extras/multipath

incremental to udev-016/extras/multipath,

* don't rely on the linux symlink in the udev/klibc dir since
  udev build doesn't use it anymore. This corrects build breakage
* remove make_dm_node fn & call. Rely on udev for this.

The first patch is to be applied.
The second is conditioned by udev dealing correctly with devmap names.

For this I can suggest a CALLOUT rule like this :
KERNEL=3D"dm-[0-9]*", PROGRAM=3D"/tmp/name_devmap %M %m", NAME=3D"%k", SY=
MLINK=3D"%c"

With name_devmap like :
#!/bin/sh
/usr/sbin/dmsetup ls|/bin/grep "$1, $2"|/usr/bin/awk '{print $1}'
This commit is contained in:
christophe.varoqui@free.fr 2004-02-06 00:14:51 -08:00 committed by Greg KH
parent 1dadabd79b
commit aca29aa51f
3 changed files with 5 additions and 41 deletions

View File

@ -1,3 +1,7 @@
2004-02-04 multipath-016
* remove make_dm_node fn & call. Rely on udev for this.
* don't rely on the linux symlink in the udev/klibc dir since
udev build doesn't use it anymore. This corrects build breakage
2004-01-19 multipath-013
* update the DM target synthax to the 2.6.0-udm5 style
2003-12-29 multipath-012

View File

@ -13,6 +13,7 @@ sysfsdir = $(udevdir)/libsysfs
CC = gcc
GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"}
KERNEL_DIR = /lib/modules/${shell uname -r}/build
CFLAGS = -pipe -g -O2 -Wall -Wunused -Wstrict-prototypes -nostdinc \
-I$(klibcdir)/klibc/include -I$(klibcdir)/klibc/include/bits32 \
-I$(GCCINCDIR) -I$(KERNEL_DIR)/include -I$(sysfsdir) -I.

View File

@ -558,46 +558,6 @@ coalesce_paths(struct env * conf, struct multipath * mp,
return nmp;
}
static int
make_dm_node(char * str)
{
int r = 0;
char buff[FILE_NAME_SIZE];
struct dm_names * names;
unsigned next = 0;
struct dm_task *dmt;
if (!(dmt = dm_task_create(DM_DEVICE_LIST)))
return 0;
if (!dm_task_run(dmt))
goto out;
if (!(names = dm_task_get_names(dmt)))
goto out;
if (!names->dev) {
r = 1;
goto out;
}
do {
if (0 == strcmp(names->name, str))
break;
next = names->next;
names = (void *) names + next;
} while (next);
sprintf(buff, "/dev/mapper/%s", str);
unlink(buff);
mknod(buff, 0600 | S_IFBLK, names->dev);
out:
dm_task_destroy(dmt);
return r;
}
static int
dm_simplecmd(int task, const char *name) {
int r = 0;
@ -711,7 +671,6 @@ setup_map(struct env * conf, struct path * all_paths,
if (op == DM_DEVICE_RELOAD)
dm_simplecmd(DM_DEVICE_RESUME, mp[index].wwid);
make_dm_node(mp[index].wwid);
return 1;
}