diff --git a/kpartx/Makefile b/kpartx/Makefile --- a/kpartx/Makefile +++ b/kpartx/Makefile @@ -13,22 +13,20 @@ ifeq ($(strip $(BUILD)),klibc) lopart.o xstrncpy.o devmapper.o \ $(MULTIPATHLIB)-$(BUILD).a $(libdm) else - LDFLAGS = -ldevmapper + LDFLAGS += -ldevmapper -lpthread OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o \ - gpt.o crc32.o lopart.o xstrncpy.o devmapper.o + gpt.o crc32.o lopart.o xstrncpy.o \ + $(MULTIPATHLIB)-$(BUILD).a endif EXEC = kpartx all: $(BUILD) -prepare: - rm -f core *.o *.gz - -glibc: prepare $(OBJS) +glibc: $(OBJS) $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) $(GZIP) $(EXEC).8 > $(EXEC).8.gz - + klibc: prepare $(OBJS) $(CC) -static -o $(EXEC) $(CRT0) $(OBJS) $(KLIBC) $(LIBGCC) $(GZIP) $(EXEC).8 > $(EXEC).8.gz diff --git a/kpartx/devmapper.c b/kpartx/devmapper.c deleted file mode 100644 --- a/kpartx/devmapper.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (c) 2004, 2005 Christophe Varoqui - */ -#include -#include -#include -#include -#include -#include - -extern int -dm_prereq (char * str, int x, int y, int z) -{ - int r = 1; - struct dm_task *dmt; - struct dm_versions *target; - struct dm_versions *last_target; - - if (!(dmt = dm_task_create(DM_DEVICE_LIST_VERSIONS))) - return 1; - - dm_task_no_open_count(dmt); - - if (!dm_task_run(dmt)) - goto out; - - target = dm_task_get_versions(dmt); - - /* Fetch targets and print 'em */ - do { - last_target = target; - - if (!strncmp(str, target->name, strlen(str)) && - /* dummy prereq on multipath version */ - target->version[0] >= x && - target->version[1] >= y && - target->version[2] >= z - ) - r = 0; - - target = (void *) target + target->next; - } while (last_target != target); - - out: - dm_task_destroy(dmt); - return r; -} - -extern int -dm_simplecmd (int task, const char *name) { - int r = 0; - struct dm_task *dmt; - - if (!(dmt = dm_task_create(task))) - return 0; - - if (!dm_task_set_name(dmt, name)) - goto out; - - dm_task_no_open_count(dmt); - - r = dm_task_run(dmt); - - out: - dm_task_destroy(dmt); - return r; -} - -extern int -dm_addmap (int task, const char *name, const char *target, - const char *params, unsigned long size) { - int r = 0; - struct dm_task *dmt; - - if (!(dmt = dm_task_create (task))) - return 0; - - if (!dm_task_set_name (dmt, name)) - goto addout; - - if (!dm_task_add_target (dmt, 0, size, target, params)) - goto addout; - - dm_task_no_open_count(dmt); - - r = dm_task_run (dmt); - - addout: - dm_task_destroy (dmt); - return r; -} - -extern int -dm_map_present (char * str) -{ - int r = 0; - struct dm_task *dmt; - struct dm_info info; - - if (!(dmt = dm_task_create(DM_DEVICE_INFO))) - return 0; - - if (!dm_task_set_name(dmt, str)) - goto out; - - dm_task_no_open_count(dmt); - - if (!dm_task_run(dmt)) - goto out; - - if (!dm_task_get_info(dmt, &info)) - goto out; - - if (info.exists) - r = 1; -out: - dm_task_destroy(dmt); - return r; -} - - -const char * -dm_mapname(int major, int minor) -{ - struct dm_task *dmt; - const char *mapname; - - if (!(dmt = dm_task_create(DM_DEVICE_INFO))) - return NULL; - - dm_task_no_open_count(dmt); - dm_task_set_major(dmt, major); - dm_task_set_minor(dmt, minor); - - if (!dm_task_run(dmt)) - goto out; - - mapname = strdup(dm_task_get_name(dmt)); -out: - dm_task_destroy(dmt); - return mapname; -} - diff --git a/kpartx/devmapper.h b/kpartx/devmapper.h deleted file mode 100644 --- a/kpartx/devmapper.h +++ /dev/null @@ -1,5 +0,0 @@ -int dm_prereq (char *, int, int, int); -int dm_simplecmd (int, const char *); -int dm_addmap (int, const char *, const char *, const char *, unsigned long); -int dm_map_present (char *); -const char * dm_mapname(int major, int minor);