Author: baggins                      Date: Tue Nov 25 22:29:34 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- 2008.11.25 GIT

---- Files affected:
SOURCES:
   multipath-tools-branch.diff (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/multipath-tools-branch.diff
diff -u SOURCES/multipath-tools-branch.diff:1.1 
SOURCES/multipath-tools-branch.diff:1.2
--- SOURCES/multipath-tools-branch.diff:1.1     Wed Nov 14 00:13:32 2007
+++ SOURCES/multipath-tools-branch.diff Tue Nov 25 23:29:28 2008
@@ -1,6 +1,335 @@
-diff -ur -x .git multipath-tools-0.4.8/kpartx/devmapper.c 
multipath-tools/kpartx/devmapper.c
---- multipath-tools-0.4.8/kpartx/devmapper.c   2007-08-03 00:05:37.000000000 
+0300
-+++ multipath-tools/kpartx/devmapper.c 2007-11-14 01:07:15.579282644 +0200
+diff --git a/.gitignore b/.gitignore
+new file mode 100644
+index 0000000..5ef5aec
+--- /dev/null
++++ b/.gitignore
+@@ -0,0 +1,9 @@
++*.o
++.dotest
++*~
++*.so
++*.a
++*.gz
++kpartx
++multipath
++multipathd
+diff --git a/Makefile b/Makefile
+index ee554e7..54be0a5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,8 +1,7 @@
+ # Makefile
+ #
+ # Copyright (C) 2003 Christophe Varoqui, <[EMAIL PROTECTED]>
+-
+-BUILD = glibc
++#
+ 
+ #
+ # Try to supply the linux kernel headers.
+@@ -20,7 +19,13 @@ endif
+ export KRNLSRC
+ export KRNLOBJ
+ 
+-BUILDDIRS = $(shell find . -mindepth 2 -name Makefile -exec dirname {} \; | 
grep -vE '^lib|/\.')
++BUILDDIRS = \
++      libmultipath \
++      libmultipath/prioritizers \
++      libmultipath/checkers \
++      multipath \
++      multipathd \
++      kpartx
+ 
+ ifeq   ($(MULTIPATH_VERSION),)
+ VERSION = $(shell basename ${PWD} | cut -d'-' -f3)
+diff --git a/Makefile.inc b/Makefile.inc
+index 7e2d4e6..3e5bca0 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -13,31 +13,22 @@ ifeq ($(TOPDIR),)
+       TOPDIR  = ..
+ endif
+ 
+-ifeq ($(strip $(BUILD)),klibc)
+-      CC = klcc
+-      klibcdir = /usr/lib/klibc
+-      libdm    = $(klibcdir)/lib/libdevmapper.a
+-endif
+-
+ prefix      = 
+ exec_prefix = $(prefix)
+ bindir      = $(exec_prefix)/sbin
+ libudevdir  = ${prefix}/lib/udev
+-checkersdir = $(TOPDIR)/libcheckers
+ multipathdir = $(TOPDIR)/libmultipath
+ mandir      = $(prefix)/usr/share/man/man8
+ man5dir     = $(prefix)/usr/share/man/man5
+ rcdir     = $(prefix)/etc/init.d
++libdir            = $(prefix)/lib/multipath
+ 
+ GZIP        = /bin/gzip -9 -c
+-
+-CHECKERSLIB = $(checkersdir)/libcheckers
+-MULTIPATHLIB = $(multipathdir)/libmultipath
+-
+-INSTALL_PROGRAM = install -s
++INSTALL_PROGRAM = install
+ 
+ OPTFLAGS     = -pipe -g -Wall -Wunused -Wstrict-prototypes
+-CFLAGS             = $(OPTFLAGS)
++CFLAGS             = $(OPTFLAGS) -fPIC
++SHARED_FLAGS = -shared
+ 
+ %.o:  %.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+diff --git a/devmap_name/Makefile b/devmap_name/Makefile
+deleted file mode 100644
+index d8d8b09..0000000
+--- a/devmap_name/Makefile
++++ /dev/null
+@@ -1,42 +0,0 @@
+-# Makefile
+-#
+-# Copyright (C) 2003 Christophe Varoqui, <[EMAIL PROTECTED]>
+-BUILD = glibc
+-
+-include ../Makefile.inc
+-
+-OBJS = devmap_name.o
+-
+-ifeq ($(strip $(BUILD)),klibc)
+-      OBJS += $(libdm)
+-else
+-      LDFLAGS = -ldevmapper
+-endif
+-
+-EXEC = devmap_name
+-
+-all: $(BUILD)
+-
+-prepare:
+-      rm -f core *.o *.gz
+-
+-glibc: prepare $(OBJS)
+-      $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS)
+-      $(GZIP) $(EXEC).8 > $(EXEC).8.gz
+-
+-klibc: prepare $(OBJS)
+-      $(CC) -static -o $(EXEC) $(OBJS)
+-      $(GZIP) $(EXEC).8 > $(EXEC).8.gz
+-
+-install: $(EXEC) $(EXEC).8
+-      install -d $(DESTDIR)$(bindir)
+-      install -m 755 $(EXEC) $(DESTDIR)$(bindir)/
+-      install -d $(DESTDIR)$(mandir)
+-      install -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
+-
+-uninstall:
+-      rm $(DESTDIR)$(bindir)/$(EXEC)
+-      rm $(DESTDIR)$(mandir)/$(EXEC).8.gz
+-
+-clean:
+-      rm -f core *.o $(EXEC) *.gz
+diff --git a/devmap_name/devmap_name.8 b/devmap_name/devmap_name.8
+deleted file mode 100644
+index 86d0931..0000000
+--- a/devmap_name/devmap_name.8
++++ /dev/null
+@@ -1,30 +0,0 @@
+-.TH DEVMAP_NAME 8 "July 2006" "" "Linux Administrator's Manual"
+-.SH NAME
+-devmap_name \- Query device-mapper name
+-.SH SYNOPSIS
+-.BI devmap_name " major minor"
+-.SH DESCRIPTION
+-.B devmap_name
+-queries the device-mapper for the name for the device
+-specified by
+-.I major
+-and
+-.I minor
+-number.
+-.br
+-.B devmap_name
+-can be called from
+-.B udev
+-by the following rule in
+-.IR /etc/udev/udev.rules :
+-.sp
+-.nf
+-KERNEL="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", \\
+-      NAME="%k", SYMLINK="%c"
+-.fi
+-.SH "SEE ALSO"
+-.BR udev (8),
+-.BR dmsetup (8)
+-.SH AUTHORS
+-.B devmap_name
+-was developed by Christophe Varoqui, <[EMAIL PROTECTED]> and others.
+diff --git a/devmap_name/devmap_name.c b/devmap_name/devmap_name.c
+deleted file mode 100644
+index 525c348..0000000
+--- a/devmap_name/devmap_name.c
++++ /dev/null
+@@ -1,88 +0,0 @@
+-/*
+- * Copyright (c) 2004, 2005 Christophe Varoqui
+- */
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <ctype.h>
+-#include <unistd.h>
+-#include <linux/kdev_t.h>
+-#include <libdevmapper.h>
+-
+-static void usage(char * progname) {
+-      fprintf(stderr, "usage : %s [-t target type] dev_t\n", progname);
+-      fprintf(stderr, "where dev_t is either 'major minor' or 
'major:minor'\n");
+-      exit(1);
+-}
+-
+-int dm_target_type(int major, int minor, char *type)
+-{
+-      struct dm_task *dmt;
+-      void *next = NULL;
+-      uint64_t start, length;
+-      char *target_type = NULL;
+-      char *params;
+-      int r = 1;
+-
+-      if (!(dmt = dm_task_create(DM_DEVICE_STATUS)))
+-              return 1;
+-
+-      if (!dm_task_set_major(dmt, major) ||
+-          !dm_task_set_minor(dmt, minor))
+-              goto bad;
+-
+-      dm_task_no_open_count(dmt);
+-
+-      if (!dm_task_run(dmt))
+-              goto bad;
+-
+-      if (!type)
+-              goto good;
+-
+-      do {
+-              next = dm_get_next_target(dmt, next, &start, &length,
+-                                        &target_type, &params);
+-              if (target_type && strcmp(target_type, type))
+-                      goto bad;
+-      } while (next);
+-
+-good:
+-      printf("%s\n", dm_task_get_name(dmt));
+-      r = 0;
+-bad:
+-      dm_task_destroy(dmt);
+-      return r;
+-}
+-
+-int main(int argc, char **argv)
+-{
+-      int c;
+-      int major, minor;
+-      char *target_type = NULL;
+-
+-      while ((c = getopt(argc, argv, "t:")) != -1) {
+-              switch (c) {
+-              case 't':
+-                      target_type = optarg;
+-                      break;
+-              default:
+-                      usage(argv[0]);
+-                      return 1;
+-                      break;
+-              }
+-      }
+-
+-      /* sanity check */
+-      if (optind == argc - 2) {
+-              major = atoi(argv[argc - 2]);
+-              minor = atoi(argv[argc - 1]);
+-      } else if (optind != argc - 1 ||
+-                 2 != sscanf(argv[argc - 1], "%i:%i", &major, &minor))
+-              usage(argv[0]);
+-
+-      if (dm_target_type(major, minor, target_type))
+-              return 1;
+-                                                                              
  
+-      return 0;
+-}
+-
+diff --git a/kpartx/Makefile b/kpartx/Makefile
+index b4cca6c..21e4ad4 100644
+--- a/kpartx/Makefile
++++ b/kpartx/Makefile
+@@ -2,49 +2,30 @@
+ #
+ # Copyright (C) 2003 Christophe Varoqui, <[EMAIL PROTECTED]>
+ #
+-BUILD=glibc
+-
+ include ../Makefile.inc
+ 
+ CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+ 
+-ifeq ($(strip $(BUILD)),klibc)
+-      OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o gpt.o crc32.o \
+-             lopart.o xstrncpy.o devmapper.o dasd.o mac.o sun.o \
+-             $(MULTIPATHLIB)-$(BUILD).a $(libdm)
+-else
+-      LDFLAGS = -ldevmapper
+-      OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \
+-             gpt.o mac.o crc32.o lopart.o xstrncpy.o devmapper.o
+-endif
+-
++LDFLAGS = -ldevmapper
++OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \
++       gpt.o mac.o crc32.o lopart.o xstrncpy.o devmapper.o
+ EXEC = kpartx
+ 
+-all: $(BUILD)
+-
+-prepare:
+-      rm -f core *.o *.gz
++all: $(EXEC)
+ 
+-glibc: prepare $(OBJS)
++$(EXEC): $(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
+-
+-$(MULTIPATHLIB)-$(BUILD).a:
+-      make -C $(multipathdir) BUILD=$(BUILD)
+-
+ install: $(EXEC) $(EXEC).8
+-      install -d $(DESTDIR)$(bindir)
++      $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+       $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
+-      install -d $(DESTDIR)$(libudevdir)
+-      install -m 755 kpartx_id $(DESTDIR)$(libudevdir)
+-      install -d $(DESTDIR)/etc/udev/rules.d
+-      install -m 644 kpartx.rules $(DESTDIR)/etc/udev/rules.d/
+-      install -d $(DESTDIR)$(mandir)
+-      install -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
++      $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)
++      $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir)
++      $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d
++      $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)/etc/udev/rules.d/
++      $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
++      $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
+ 
+ uninstall:
+       rm -f $(DESTDIR)$(bindir)/$(EXEC)
+diff --git a/kpartx/devmapper.c b/kpartx/devmapper.c
+index 6e3e198..893d6dd 100644
+--- a/kpartx/devmapper.c
++++ b/kpartx/devmapper.c
 @@ -4,10 +4,12 @@
  #include <stdio.h>
  #include <stdlib.h>
@@ -14,7 +343,7 @@
  
  #define UUID_PREFIX "part%d-"
  #define MAX_PREFIX_LEN 8
-@@ -72,10 +74,10 @@
+@@ -72,10 +74,10 @@ dm_simplecmd (int task, const char *name) {
  
  extern int
  dm_addmap (int task, const char *name, const char *target,
@@ -27,9 +356,10 @@
  
        if (!(dmt = dm_task_create (task)))
                return 0;
-diff -ur -x .git multipath-tools-0.4.8/kpartx/devmapper.h 
multipath-tools/kpartx/devmapper.h
---- multipath-tools-0.4.8/kpartx/devmapper.h   2007-08-03 00:05:37.000000000 
+0300
-+++ multipath-tools/kpartx/devmapper.h 2007-11-14 01:07:15.579282644 +0200
+diff --git a/kpartx/devmapper.h b/kpartx/devmapper.h
+index ccdbead..2bd27d2 100644
+--- a/kpartx/devmapper.h
++++ b/kpartx/devmapper.h
 @@ -1,7 +1,7 @@
  int dm_prereq (char *, int, int, int);
  int dm_simplecmd (int, const char *);
@@ -40,9 +370,10 @@
  int dm_map_present (char *);
  char * dm_mapname(int major, int minor);
  dev_t dm_get_first_dep(char *devname);
-diff -ur -x .git multipath-tools-0.4.8/kpartx/gpt.c 
multipath-tools/kpartx/gpt.c
---- multipath-tools-0.4.8/kpartx/gpt.c 2007-08-03 00:05:37.000000000 +0300
-+++ multipath-tools/kpartx/gpt.c       2007-11-14 01:07:15.579282644 +0200
+diff --git a/kpartx/gpt.c b/kpartx/gpt.c
+index dc846ca..047a829 100644
+--- a/kpartx/gpt.c
++++ b/kpartx/gpt.c
 @@ -36,6 +36,7 @@
  #include <errno.h>
  #include <endian.h>
@@ -70,7 +401,7 @@
  
  struct blkdev_ioctl_param {
          unsigned int block;
-@@ -143,20 +152,14 @@
+@@ -143,20 +152,14 @@ get_sector_size(int filedes)
  static uint64_t
  _get_num_sectors(int filedes)
  {
@@ -95,7 +426,7 @@
  }
  
  /************************************************************
-@@ -193,7 +196,7 @@
+@@ -193,7 +196,7 @@ last_lba(int filedes)
                sectors = 1;
        }
  
@@ -104,7 +435,7 @@
  }
  
  
-@@ -220,17 +223,22 @@
+@@ -220,17 +223,22 @@ read_lba(int fd, uint64_t lba, void *buffer, size_t 
bytes)
  {
        int sector_size = get_sector_size(fd);
        off_t offset = lba * sector_size;
@@ -128,7 +459,7 @@
                  bytesread = read_lastoddsector(fd, lba, buffer, bytes);
          }
          return bytesread;
-@@ -505,7 +513,8 @@
+@@ -505,7 +513,8 @@ find_valid_gpt(int fd, gpt_header ** gpt, gpt_entry ** 
ptes)
        if (!gpt || !ptes)
                return 0;
  
@@ -138,9 +469,24 @@
        good_pgpt = is_gpt_valid(fd, GPT_PRIMARY_PARTITION_TABLE_LBA,
                                 &pgpt, &pptes);
          if (good_pgpt) {
-diff -ur -x .git multipath-tools-0.4.8/kpartx/kpartx.c 
multipath-tools/kpartx/kpartx.c
---- multipath-tools-0.4.8/kpartx/kpartx.c      2007-08-03 00:05:37.000000000 
+0300
-+++ multipath-tools/kpartx/kpartx.c    2007-11-14 01:07:15.579282644 +0200
+diff --git a/kpartx/kpartx.8 b/kpartx/kpartx.8
+index 87b07ce..c61f312 100644
+--- a/kpartx/kpartx.8
++++ b/kpartx/kpartx.8
+@@ -26,6 +26,9 @@ List partition mappings that would be added -a
+ .B \-p
+ set device name-partition number delimiter
+ .TP
++.B \-g
++force GUID partition table (GPT)
++.TP
+ .B \-v
+ Operate verbosely
+ .SH "SEE ALSO"
+diff --git a/kpartx/kpartx.c b/kpartx/kpartx.c
+index dbe2ee2..237d958 100644
+--- a/kpartx/kpartx.c
++++ b/kpartx/kpartx.c
 @@ -25,6 +25,7 @@
  #include <stdlib.h>
  #include <string.h>
@@ -149,7 +495,78 @@
  #include <sys/stat.h>
  #include <sys/types.h>
  #include <ctype.h>
-@@ -366,16 +367,16 @@
+@@ -82,7 +83,7 @@ initpts(void)
+       addpts("sun", read_sun_pt);
+ }
+ 
+-static char short_opts[] = "ladgvnp:t:";
++static char short_opts[] = "ladgvp:t:";
+ 
+ /* Used in gpt.c */
+ int force_gpt=0;
+@@ -94,6 +95,7 @@ usage(void) {
+       printf("\t-d del partition devmappings\n");
+       printf("\t-l list partitions devmappings that would be added by -a\n");
+       printf("\t-p set device name-partition number delimiter\n");
++      printf("\t-g force GUID partition table (GPT)\n");
+       printf("\t-v verbose\n");
+       return 1;
+ }
+@@ -187,8 +189,7 @@ main(int argc, char **argv){
+       struct slice all;
+       struct pt *ptp;
+       enum action what = LIST;
+-      char *p, *type, *diskdevice, *device, *progname;
+-      int lower, upper;
++      char *type, *diskdevice, *device, *progname;
+       int verbose = 0;
+       char partname[PARTNAME_SIZE], params[PARTNAME_SIZE + 16];
+       char * loopdev = NULL;
+@@ -202,7 +203,6 @@ main(int argc, char **argv){
+       initpts();
+       init_crc32();
+ 
+-      lower = upper = 0;
+       type = device = diskdevice = NULL;
+       memset(&all, 0, sizeof(all));
+       memset(&partname, 0, sizeof(partname));
+@@ -239,14 +239,6 @@ main(int argc, char **argv){
+               case 'v':
+                       verbose = 1;
+                       break;
+-              case 'n':
+-                      p = optarg;
+-                      lower = atoi(p);
+-                      if ((p[1] == '-') && p[2])
+-                              upper = atoi(p+2);
+-                      else
+-                              upper = lower;
+-                      break;
+               case 'p':
+                       delim = optarg;
+                       break;
+@@ -265,7 +257,7 @@ main(int argc, char **argv){
+       }
+ 
+       if (dm_prereq(DM_TARGET, 0, 0, 0) && (what == ADD || what == DELETE)) {
+-              fprintf(stderr, "device mapper prerequisites not met\n"); 
++              fprintf(stderr, "device mapper prerequisites not met\n");
+               exit(1);
+       }
+ 
+@@ -331,10 +323,9 @@ main(int argc, char **argv){
+               perror(device);
+               exit(1);
+       }
+-      if (!lower)
+-              lower = 1;
+ 
+       /* add/remove partitions to the kernel devmapper tables */
++      int r = 0;
+       for (i = 0; i < ptct; i++) {
+               ptp = &pts[i];
+ 
+@@ -366,16 +357,16 @@ main(int argc, char **argv){
  
                                slices[j].minor = m++;
  
@@ -170,7 +587,7 @@
                                        int k = slices[j].container - 1;
  
                                        if (slices[j].size == 0)
-@@ -387,9 +388,9 @@
+@@ -387,9 +378,9 @@ main(int argc, char **argv){
                                        slices[j].minor = m++;
  
                                        start = slices[j].start - 
slices[k].start;
@@ -182,7 +599,38 @@
                                               slices[k].minor, start);
                                        c--;
                                }
-@@ -448,8 +449,8 @@
+@@ -401,7 +392,7 @@ main(int argc, char **argv){
+                       break;
+ 
+               case DELETE:
+-                      for (j = 0; j < n; j++) {
++                      for (j = n-1; j >= 0; j--) {
+                               if (safe_sprintf(partname, "%s%s%d",
+                                            mapname, delim, j+1)) {
+                                       fprintf(stderr, "partname too small\n");
+@@ -412,9 +403,10 @@ main(int argc, char **argv){
+                               if (!slices[j].size || 
!dm_map_present(partname))
+                                       continue;
+ 
+-                              if (!dm_simplecmd(DM_DEVICE_REMOVE, partname))
++                              if (!dm_simplecmd(DM_DEVICE_REMOVE, partname)) {
++                                      r++;
+                                       continue;
+-
++                              }
+                               if (verbose)
+                                       printf("del devmap : %s\n", partname);
+                       }
+@@ -431,7 +423,7 @@ main(int argc, char **argv){
+                       break;
+ 
+               case ADD:
+-                      for (j=0, c = 0; j<n; j++) {
++                      for (j = 0, c = 0; j < n; j++) {
+                               if (slices[j].size == 0)
+                                       continue;
+ 
+@@ -448,8 +440,8 @@ main(int argc, char **argv){
                                }
                                strip_slash(partname);
  
@@ -193,7 +641,30 @@
                                        fprintf(stderr, "params too small\n");
                                        exit(1);
                                }
-@@ -468,7 +469,7 @@
+@@ -457,18 +449,23 @@ main(int argc, char **argv){
+                               op = (dm_map_present(partname) ?
+                                       DM_DEVICE_RELOAD : DM_DEVICE_CREATE);
+ 
+-                              dm_addmap(op, partname, DM_TARGET, params,
+-                                        slices[j].size, uuid, j+1);
+-
+-                              if (op == DM_DEVICE_RELOAD)
+-                                      dm_simplecmd(DM_DEVICE_RESUME,
+-                                                      partname);
+-
++                              if (!dm_addmap(op, partname, DM_TARGET, params,
++                                        slices[j].size, uuid, j+1)) {
++                                      fprintf(stderr, "create/reload failed 
on %s\n",
++                                              partname);
++                                      r++;
++                              }
++                              if (op == DM_DEVICE_RELOAD &&
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/multipath-tools-branch.diff?r1=1.1&r2=1.2&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to