On Sat, Apr 17, 2010 at 01:16:31PM +0200, Christophe Varoqui wrote: > Ben, > > upstream has 1.2.8 as a minimum lib version. > I see in this patch you chose 1.2.11 instead. > > Should upstream also bump the min lib version ? If so, what's the > feature introduced between .8 and .11 that justifies the bump ? No, it's not necessary to bump it. -Ben > > Thanks, > cvaroqui > > On ven., 2010-04-16 at 22:08 +0000, bmarzins@xxxxxxxxxxxxxx wrote: > > CVSROOT: /cvs/dm > > Module name: multipath-tools > > Branch: RHEL5_FC6 > > Changes by: bmarzins@xxxxxxxxxxxxxx 2010-04-16 22:08:03 > > > > Modified files: > > libmultipath : devmapper.c devmapper.h > > multipath : main.c > > > > Log message: > > Fix for bz #517951. Updated prereq testing code. > > > > Patches: > > http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/devmapper.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.22.2.8&r2=1.22.2.9 > > http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/devmapper.h.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.11.2.5&r2=1.11.2.6 > > http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/multipath/main.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.44.2.8&r2=1.44.2.9 > > > > --- multipath-tools/libmultipath/devmapper.c 2009/05/04 18:12:06 1.22.2.8 > > +++ multipath-tools/libmultipath/devmapper.c 2010/04/16 22:08:02 1.22.2.9 > > @@ -82,13 +82,35 @@ > > dm_log_init_verbose(conf ? conf->verbosity + 3 : 0); > > } > > > > -extern int > > -dm_prereq (char * str, int x, int y, int z) > > +static int > > +dm_libprereq (void) > > +{ > > + char version[64]; > > + int v[3]; > > + int minv[3] = {1, 2, 11}; > > + > > + dm_get_library_version(version, sizeof(version)); > > + condlog(3, "libdevmapper version %s", version); > > + sscanf(version, "%d.%d.%d ", &v[0], &v[1], &v[2]); > > + > > + if ((v[0] > minv[0]) || > > + ((v[0] == minv[0]) && (v[1] > minv[1])) || > > + ((v[0] == minv[0]) && (v[1] == minv[1]) && (v[2] >= minv[2]))) > > + return 0; > > + condlog(0, "libdevmapper version must be >= %d.%.2d.%.2d", > > + minv[0], minv[1], minv[2]); > > + return 1; > > +} > > + > > +static int > > +dm_drvprereq (char * str) > > { > > int r = 2; > > struct dm_task *dmt; > > struct dm_versions *target; > > struct dm_versions *last_target; > > + int minv[3] = {1, 0, 3}; > > + unsigned int *v; > > > > if (!(dmt = dm_task_create(DM_DEVICE_LIST_VERSIONS))) > > return 3; > > @@ -104,25 +126,26 @@ > > > > do { > > last_target = target; > > - > > if (!strncmp(str, target->name, strlen(str))) { > > - r--; > > - > > - if (target->version[0] >= x && > > - target->version[1] >= y && > > - target->version[2] >= z) > > - r--; > > - > > + r = 1; > > break; > > } > > - > > target = (void *) target + target->next; > > } while (last_target != target); > > > > - if (r == 2) > > + if (r == 2) { > > condlog(0, "DM multipath kernel driver not loaded"); > > - else if (r == 1) > > - condlog(0, "DM multipath kernel driver version too old"); > > + goto out; > > + } > > + v = target->version; > > + if ((v[0] > minv[0]) || > > + ((v[0] == minv[0]) && (v[1] > minv[1])) || > > + ((v[0] == minv[0]) && (v[1] == minv[1]) && (v[2] >= minv[2]))) { > > + r = 0; > > + goto out; > > + } > > + condlog(0, "DM multipath kernel driver must be >= %u.%.2u.%.2u", > > + minv[0], minv[1], minv[2]); > > > > out: > > dm_task_destroy(dmt); > > @@ -130,6 +153,14 @@ > > } > > > > extern int > > +dm_prereq (char * str) > > +{ > > + if (dm_libprereq()) > > + return 1; > > + return dm_drvprereq(str); > > +} > > + > > +extern int > > dm_simplecmd (int task, const char *name, int no_flush) { > > int r = 0; > > struct dm_task *dmt; > > --- multipath-tools/libmultipath/devmapper.h 2008/09/19 03:27:08 1.11.2.5 > > +++ multipath-tools/libmultipath/devmapper.h 2010/04/16 22:08:03 1.11.2.6 > > @@ -3,7 +3,7 @@ > > #include "structs.h" > > > > void dm_init(void); > > -int dm_prereq (char *, int, int, int); > > +int dm_prereq (char *); > > int dm_simplecmd (int, const char *, int); > > int dm_addmap (int, const char *, struct multipath *, int, int); > > int dm_map_present (char *); > > --- multipath-tools/multipath/main.c 2010/04/08 19:31:49 1.44.2.8 > > +++ multipath-tools/multipath/main.c 2010/04/16 22:08:03 1.44.2.9 > > @@ -1,7 +1,7 @@ > > /* > > * Soft: multipath device mapper target autoconfig > > * > > - * Version: $Id: main.c,v 1.44.2.8 2010/04/08 19:31:49 bmarzins Exp $ > > + * Version: $Id: main.c,v 1.44.2.9 2010/04/16 22:08:03 bmarzins Exp $ > > * > > * Author: Christophe Varoqui > > * > > @@ -315,7 +315,7 @@ > > exit(1); > > } > > > > - if (dm_prereq(DEFAULT_TARGET, 1, 0, 3)) > > + if (dm_prereq(DEFAULT_TARGET)) > > exit(1); > > > > if (sysfs_get_mnt_path(sysfs_path, FILE_NAME_SIZE)) { > > > > -- > > dm-devel mailing list > > dm-devel@xxxxxxxxxx > > https://www.redhat.com/mailman/listinfo/dm-devel > > > -- > dm-devel mailing list > dm-devel@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/dm-devel -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel