mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-04-25 14:50:10 +03:00
[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:
parent
1dadabd79b
commit
aca29aa51f
@ -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
|
2004-01-19 multipath-013
|
||||||
* update the DM target synthax to the 2.6.0-udm5 style
|
* update the DM target synthax to the 2.6.0-udm5 style
|
||||||
2003-12-29 multipath-012
|
2003-12-29 multipath-012
|
||||||
|
@ -13,6 +13,7 @@ sysfsdir = $(udevdir)/libsysfs
|
|||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"}
|
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 \
|
CFLAGS = -pipe -g -O2 -Wall -Wunused -Wstrict-prototypes -nostdinc \
|
||||||
-I$(klibcdir)/klibc/include -I$(klibcdir)/klibc/include/bits32 \
|
-I$(klibcdir)/klibc/include -I$(klibcdir)/klibc/include/bits32 \
|
||||||
-I$(GCCINCDIR) -I$(KERNEL_DIR)/include -I$(sysfsdir) -I.
|
-I$(GCCINCDIR) -I$(KERNEL_DIR)/include -I$(sysfsdir) -I.
|
||||||
|
@ -558,46 +558,6 @@ coalesce_paths(struct env * conf, struct multipath * mp,
|
|||||||
return nmp;
|
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
|
static int
|
||||||
dm_simplecmd(int task, const char *name) {
|
dm_simplecmd(int task, const char *name) {
|
||||||
int r = 0;
|
int r = 0;
|
||||||
@ -711,7 +671,6 @@ setup_map(struct env * conf, struct path * all_paths,
|
|||||||
if (op == DM_DEVICE_RELOAD)
|
if (op == DM_DEVICE_RELOAD)
|
||||||
dm_simplecmd(DM_DEVICE_RESUME, mp[index].wwid);
|
dm_simplecmd(DM_DEVICE_RESUME, mp[index].wwid);
|
||||||
|
|
||||||
make_dm_node(mp[index].wwid);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user