Hello community, here is the log from the commit of package evms checked in at Thu Apr 20 01:03:12 CEST 2006. -------- --- evms/evms.changes 2006-04-19 14:16:29.000000000 +0200 +++ STABLE/evms/evms.changes 2006-04-19 19:26:41.000000000 +0200 @@ -2 +2 @@ -Wed Apr 19 14:16:22 CEST 2006 - fehr@suse.de +Wed Apr 19 19:26:35 CEST 2006 - fehr@suse.de @@ -4 +4,3 @@ -- add raid5_recovery_crash.patch to fix bug #167203 +- add evms_raid5.patch.patch to fix bug #167203 +- add compaq_naming_gpt.patch to make naming on gpt disk label + consistent with dos disk label (#167397) Old: ---- raid5_recovery_crash.patch New: ---- compaq_naming_gpt.patch evms_raid5.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ evms.spec ++++++ --- /var/tmp/diff_new_pack.NkmAAr/_old 2006-04-20 01:02:18.000000000 +0200 +++ /var/tmp/diff_new_pack.NkmAAr/_new 2006-04-20 01:02:18.000000000 +0200 @@ -20,7 +20,7 @@ %endif Autoreqprov: on Version: 2.5.5 -Release: 10 +Release: 12 Summary: EVMS--Enterprise Volume Management System BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: http://prdownloads.sourceforge.net/evms/evms-%{version}.tar.bz2 @@ -38,7 +38,8 @@ Patch7: ocfs2.patch Patch8: configure-iscsi.diff Patch9: aclocal-iscsi.diff -Patch10: raid5_recovery_crash.patch +Patch10: evms_raid5.patch +Patch11: compaq_naming_gpt.patch %description This package contains the userspace tools needed to manage EVMS @@ -101,7 +102,8 @@ %patch7 %patch8 %patch9 -%patch10 +%patch10 -p1 +%patch11 %build autoconf @@ -178,7 +180,9 @@ %changelog -n evms * Wed Apr 19 2006 - fehr@suse.de -- add raid5_recovery_crash.patch to fix bug #167203 +- add evms_raid5.patch.patch to fix bug #167203 +- add compaq_naming_gpt.patch to make naming on gpt disk label + consistent with dos disk label (#167397) * Fri Apr 07 2006 - ghorlacher@suse.de - wrwhitehead -Bugfix 164170 - causes exit when iscsitarget not installed ++++++ compaq_naming_gpt.patch ++++++ --- plugins/gpt/helpers.c +++ plugins/gpt/helpers.c 2006/04/19 15:14:19 @@ -907,6 +908,22 @@ if (devname[strlen(devname)-1] == '/') { strcat(devname, "part"); } + else { + // Special case for HP/Compaq disk arrays. + // These disks have names like "cciss/c0d0", + // and the segments need to be named like + // "cciss/c0d0p1". Search for the pattern + // "name/c<digits>d<digits>". + char junk1[64]; + unsigned int junk2, junk3; + + int rc = sscanf(devname, "%63[^/]/c%ud%u", + junk1, &junk2, &junk3); + if (rc == 3) { + strcat(devname, "p"); + } + rc = 0; + } } sprintf(seg->name, "%s%d", devname, minor); ++++++ evms_raid5.patch ++++++ --- evms-2.5.5/plugins/md/raid5_mgr.c 2006-02-22 10:05:17.000000000 -0600 +++ evms-2.5.5.miket/plugins/md/raid5_mgr.c 2006-04-07 15:01:00.837225392 -0500 @@ -102,6 +102,7 @@ md_super_info_t info; mdu_disk_info_t d; int i, count, length = 0; + int conf_disks; int rc = 0; LOG_ENTRY(); @@ -117,9 +118,24 @@ conf->failed_disk_index = -1; LOG_DEBUG("%s: info.raid_disks: %d, info.nr_disks: %d.\n", vol->name, info.raid_disks, info.nr_disks); - conf->stripe.nr_disks = (info.raid_disks > info.nr_disks) ? info.raid_disks : info.nr_disks; - conf->disks = EngFncs->engine_alloc(sizeof(disk_info_t) * conf->stripe.nr_disks); - conf->stripe.chunks = EngFncs->engine_alloc(sizeof(chunk_t) * conf->stripe.nr_disks); + conf_disks = (info.raid_disks > info.nr_disks) ? info.raid_disks : info.nr_disks; + + /* + * If a spare is added to fix a degrade array, + * its index will be out nr_disks range. + * Check disk index of each member and adjust conf_disks if necessary. + */ + LIST_FOR_EACH(vol->members, iter, member) { + if (member->dev_number >= conf_disks) { + LOG_WARNING("%s: Changing number of disk entries:" + " current value %d, new value %d.\n", + vol->name, conf_disks, member->dev_number+1); + conf_disks = member->dev_number + 1; + } + } + + conf->disks = EngFncs->engine_alloc(sizeof(disk_info_t) * conf_disks); + conf->stripe.chunks = EngFncs->engine_alloc(sizeof(chunk_t) * conf_disks); /* Set the volume to which the stripe belongs. */ conf->stripe.volume = vol; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...