summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <eradicator@gentoo.org>2006-05-02 08:14:30 +0000
committerJeremy Huddleston <eradicator@gentoo.org>2006-05-02 08:14:30 +0000
commit637030fd6553270bffeb8162313fe90e33629021 (patch)
tree54f94e1d89d736b7f44dffca1b557ef96fcd4c19 /sys-fs/evms
parentinitial commit - ebuild submitted by Cristiano Chiucchiolo via bug #131564 (diff)
downloadhistorical-637030fd6553270bffeb8162313fe90e33629021.tar.gz
historical-637030fd6553270bffeb8162313fe90e33629021.tar.bz2
historical-637030fd6553270bffeb8162313fe90e33629021.zip
Added maintenance patches to handle degraded raid5 arrays. Closes bug #131193.
Package-Manager: portage-2.1_pre9-r4
Diffstat (limited to 'sys-fs/evms')
-rw-r--r--sys-fs/evms/ChangeLog9
-rw-r--r--sys-fs/evms/Manifest62
-rw-r--r--sys-fs/evms/evms-2.5.5-r1.ebuild91
-rw-r--r--sys-fs/evms/files/2.5.5/md_super_fix.patch96
-rw-r--r--sys-fs/evms/files/2.5.5/raid5_degrade_fix.patch38
-rw-r--r--sys-fs/evms/files/digest-evms-2.5.52
-rw-r--r--sys-fs/evms/files/digest-evms-2.5.5-r13
7 files changed, 295 insertions, 6 deletions
diff --git a/sys-fs/evms/ChangeLog b/sys-fs/evms/ChangeLog
index 7a691faff7df..ab33fc1d3c7e 100644
--- a/sys-fs/evms/ChangeLog
+++ b/sys-fs/evms/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/evms
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/evms/ChangeLog,v 1.45 2006/03/29 02:28:25 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/evms/ChangeLog,v 1.46 2006/05/02 08:14:30 eradicator Exp $
+
+*evms-2.5.5-r1 (02 May 2006)
+
+ 02 May 2006; Jeremy Huddleston <eradicator@gentoo.org>
+ +files/2.5.5/md_super_fix.patch, +files/2.5.5/raid5_degrade_fix.patch,
+ +evms-2.5.5-r1.ebuild:
+ Added maintenance patches to handle degraded raid5 arrays. Closes bug #131193.
29 Mar 2006; Aron Griffis <agriffis@gentoo.org> evms-2.5.5.ebuild:
Mark 2.5.5 stable on ia64
diff --git a/sys-fs/evms/Manifest b/sys-fs/evms/Manifest
index 6447aba1e10a..9cf706428542 100644
--- a/sys-fs/evms/Manifest
+++ b/sys-fs/evms/Manifest
@@ -1,9 +1,61 @@
-MD5 899d5c369659ead00dc05da76a3a21aa ChangeLog 9967
-MD5 a65a8d5f94a287aac2e99eee6c70d7b3 evms-2.5.3-r1.ebuild 2427
-MD5 0c12f9cde8542cb7c69e9f10ece38694 evms-2.5.5.ebuild 2436
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX 2.5.3/compaq_segments.patch 478 RMD160 a31b6197ded598606389d590d6c36d5a5853203c SHA1 1478944613e3118df9ea26590482689556b55671 SHA256 943748998e15b603fdd66a137903a4486b0b98c935a589c297d9c446ef93557e size 478
MD5 fea531c10f3cb1d47c0f0af40bad0fa9 files/2.5.3/compaq_segments.patch 478
+RMD160 a31b6197ded598606389d590d6c36d5a5853203c files/2.5.3/compaq_segments.patch 478
+SHA256 943748998e15b603fdd66a137903a4486b0b98c935a589c297d9c446ef93557e files/2.5.3/compaq_segments.patch 478
+AUX 2.5.3/md_expand.patch 2152 RMD160 e795ba20bc9d525705b5b22f7c5b68e56ce6ae2c SHA1 04b76c433ec06e58f974d4744f1e4bc2c1be7cbf SHA256 56f5996874159ce456fcdc72b93aa9ac9011c4be93b2a2954fef8c75046fe85b size 2152
MD5 fbf48e09c52473403af443f9ee5d8403 files/2.5.3/md_expand.patch 2152
-MD5 2769ffa4ae1f09667ac42e94da8036ba files/digest-evms-2.5.3-r1 63
-MD5 b82867f283940c9d13314f8119d87e6e files/digest-evms-2.5.5 63
+RMD160 e795ba20bc9d525705b5b22f7c5b68e56ce6ae2c files/2.5.3/md_expand.patch 2152
+SHA256 56f5996874159ce456fcdc72b93aa9ac9011c4be93b2a2954fef8c75046fe85b files/2.5.3/md_expand.patch 2152
+AUX 2.5.5/md_super_fix.patch 2618 RMD160 331da16472918dd5029fdf07b9f51378b493daa6 SHA1 566df932d383b247af8236f5f6e679d4a9997421 SHA256 ade82c9d21c14486592a1aac347361c2fd207dac9634dae9f55225c302b21f5d size 2618
+MD5 e48c5d6f6536b378e4f4d38e3187b8e7 files/2.5.5/md_super_fix.patch 2618
+RMD160 331da16472918dd5029fdf07b9f51378b493daa6 files/2.5.5/md_super_fix.patch 2618
+SHA256 ade82c9d21c14486592a1aac347361c2fd207dac9634dae9f55225c302b21f5d files/2.5.5/md_super_fix.patch 2618
+AUX 2.5.5/raid5_degrade_fix.patch 1533 RMD160 0cfc05d686faf41abc5f9363c3a59833ce04811a SHA1 219c52a98f9a4bb1e6b0035f75a8c2fe122bc64c SHA256 8c2eb03ec4d18150349ca91344e5d63e9a807e3033760baae69f5110e36c2a2c size 1533
+MD5 06dd078a53af7de2b7d8b287fd91b874 files/2.5.5/raid5_degrade_fix.patch 1533
+RMD160 0cfc05d686faf41abc5f9363c3a59833ce04811a files/2.5.5/raid5_degrade_fix.patch 1533
+SHA256 8c2eb03ec4d18150349ca91344e5d63e9a807e3033760baae69f5110e36c2a2c files/2.5.5/raid5_degrade_fix.patch 1533
+AUX evms2-start.sh 382 RMD160 a9dbd94b537ddcc9b0798cb904769b075e7d529a SHA1 0d84590bd35b9ef91d74eb55456f0b8e56079ed1 SHA256 ea36fbde78590067029405ab18b09106b083913688ea4863c2e63eece8e74021 size 382
MD5 5eb632aa94b0537e1983f935e3706d74 files/evms2-start.sh 382
+RMD160 a9dbd94b537ddcc9b0798cb904769b075e7d529a files/evms2-start.sh 382
+SHA256 ea36fbde78590067029405ab18b09106b083913688ea4863c2e63eece8e74021 files/evms2-start.sh 382
+DIST evms-2.5.3.tar.gz 2239383 size 2239383
+DIST evms-2.5.5.tar.gz 2286321 RMD160 716d6b34f48f6f7a3f5f4627bc4a2c34957607f7 SHA256 9dbfaac148d822068ba883f6533935e03ae5cfc9fdf8836dea6aee99c859307c size 2286321
+EBUILD evms-2.5.3-r1.ebuild 2427 RMD160 dde95093f500195860d3982835de1e3c5bceb6d2 SHA1 05921b1c8e4a1a8d8da97c15ceeb9eb765fbd902 SHA256 77b81af199f49601526139c22baa2e075311bc021fdcedc789aaafa1f4f1015d size 2427
+MD5 a65a8d5f94a287aac2e99eee6c70d7b3 evms-2.5.3-r1.ebuild 2427
+RMD160 dde95093f500195860d3982835de1e3c5bceb6d2 evms-2.5.3-r1.ebuild 2427
+SHA256 77b81af199f49601526139c22baa2e075311bc021fdcedc789aaafa1f4f1015d evms-2.5.3-r1.ebuild 2427
+EBUILD evms-2.5.5-r1.ebuild 2440 RMD160 c824216bec0626ca32440338253594c753c7ab6c SHA1 8d9e1ae3b25bd89ffc7c15f171f6e9df1779ad0e SHA256 12f8f9cdae3219445bcbedd68bb293039c900b00ecb4191563caf8c0da10cc5a size 2440
+MD5 65b904b4eadb82b20f69e33ab36b558e evms-2.5.5-r1.ebuild 2440
+RMD160 c824216bec0626ca32440338253594c753c7ab6c evms-2.5.5-r1.ebuild 2440
+SHA256 12f8f9cdae3219445bcbedd68bb293039c900b00ecb4191563caf8c0da10cc5a evms-2.5.5-r1.ebuild 2440
+EBUILD evms-2.5.5.ebuild 2436 RMD160 4a258bad2df55e483a4e1a269a7e35faa5e6a7a2 SHA1 80631993193653d5b845b54c5e0a5f14dd1048a6 SHA256 625c81d5197f4c490e2b55b2c682f9ccd6134c863f8d95cde6390ba0f32bb8a3 size 2436
+MD5 0c12f9cde8542cb7c69e9f10ece38694 evms-2.5.5.ebuild 2436
+RMD160 4a258bad2df55e483a4e1a269a7e35faa5e6a7a2 evms-2.5.5.ebuild 2436
+SHA256 625c81d5197f4c490e2b55b2c682f9ccd6134c863f8d95cde6390ba0f32bb8a3 evms-2.5.5.ebuild 2436
+MISC ChangeLog 10237 RMD160 1941de3d7c4e48f065446dee6a167585b5bbeabd SHA1 56041feb09fe89403714c418caabd1ff4c56c638 SHA256 27e0d96c94e5b962040981ffe95b63340bed88c12ee94bb7afa4cd1f97603e8d size 10237
+MD5 9a07867af8f86b347a64aabcd4ab53c8 ChangeLog 10237
+RMD160 1941de3d7c4e48f065446dee6a167585b5bbeabd ChangeLog 10237
+SHA256 27e0d96c94e5b962040981ffe95b63340bed88c12ee94bb7afa4cd1f97603e8d ChangeLog 10237
+MISC metadata.xml 387 RMD160 17a7b8226f7c5ef9dd45acd6fa6c9cfe7ba6dcc2 SHA1 1f4e79e4972fd749331a9260389aef08ace8c01e SHA256 b63984a06d4d8c776e0a1bffb39f36e1835e730d2636ff2a15550b17bb52eb03 size 387
MD5 59d559390ca6a6d365a5d6c3012c0343 metadata.xml 387
+RMD160 17a7b8226f7c5ef9dd45acd6fa6c9cfe7ba6dcc2 metadata.xml 387
+SHA256 b63984a06d4d8c776e0a1bffb39f36e1835e730d2636ff2a15550b17bb52eb03 metadata.xml 387
+MD5 2769ffa4ae1f09667ac42e94da8036ba files/digest-evms-2.5.3-r1 63
+RMD160 f3bcc4f4915f04c44327a58436ba4d9c9d614c02 files/digest-evms-2.5.3-r1 63
+SHA256 34b821017208669e49f9550fd6d718622704964a45fc2fab7daff6a39aca839e files/digest-evms-2.5.3-r1 63
+MD5 83e877452227406dad19b93325f98ca2 files/digest-evms-2.5.5 235
+RMD160 8b33887302192148a7f141f6c96deb68ebcf31ef files/digest-evms-2.5.5 235
+SHA256 3c7b17329fb2f3fb7c0f65550c2d12c958b315af49b88160b7b43f6538b80c3d files/digest-evms-2.5.5 235
+MD5 83e877452227406dad19b93325f98ca2 files/digest-evms-2.5.5-r1 235
+RMD160 8b33887302192148a7f141f6c96deb68ebcf31ef files/digest-evms-2.5.5-r1 235
+SHA256 3c7b17329fb2f3fb7c0f65550c2d12c958b315af49b88160b7b43f6538b80c3d files/digest-evms-2.5.5-r1 235
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.3 (GNU/Linux)
+
+iD8DBQFEVxUDOpjtAl+gMRURAp+sAKCB47oo4X7n5+WBJrTLzX0j8PHNxgCePjWi
+yzrGSQdh1IF7TRPqxf7usv0=
+=gZOp
+-----END PGP SIGNATURE-----
diff --git a/sys-fs/evms/evms-2.5.5-r1.ebuild b/sys-fs/evms/evms-2.5.5-r1.ebuild
new file mode 100644
index 000000000000..319928222c62
--- /dev/null
+++ b/sys-fs/evms/evms-2.5.5-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/evms/evms-2.5.5-r1.ebuild,v 1.1 2006/05/02 08:14:30 eradicator Exp $
+
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="Utilities for the IBM Enterprise Volume Management System"
+HOMEPAGE="http://www.sourceforge.net/projects/evms"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="ncurses gtk"
+
+#EVMS uses libuuid from e2fsprogs
+DEPEND="virtual/libc
+ sys-fs/e2fsprogs
+ sys-fs/device-mapper
+ >=sys-apps/baselayout-1.9.4-r6
+ gtk? ( =x11-libs/gtk+-1* )
+ ncurses? ( sys-libs/ncurses
+ =dev-libs/glib-1* )"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${PV}/raid5_degrade_fix.patch
+ epatch ${FILESDIR}/${PV}/md_super_fix.patch
+}
+
+src_compile() {
+ # Bug #54856
+ # filter-flags "-fstack-protector"
+ replace-flags -O3 -O2
+ replace-flags -Os -O2
+
+ local excluded_interfaces=""
+ use ncurses || excluded_interfaces="--disable-text-mode"
+ use gtk || excluded_interfaces="${excluded_interfaces} --disable-gui"
+
+ econf \
+ --libdir=/$(get_libdir) \
+ --sbindir=/sbin \
+ --includedir=/usr/include \
+ ${excluded_interfaces} || die "Failed configure"
+ emake || die "Failed emake"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "Make install died"
+ dodoc ChangeLog INSTALL* PLUGIN.IDS README TERMINOLOGY doc/linuxrc
+
+ insinto /$(get_libdir)/rcscripts/addons
+ newins "${FILESDIR}"/evms2-start.sh evms-start.sh || die "rcscript addon failed"
+
+ # install the sample configuration into the doc dir
+ dodoc ${D}/etc/evms.conf.sample
+ rm -f ${D}/etc/evms.conf.sample
+
+ # the kernel patches may come handy for people compiling their own kernel
+ docinto kernel/2.4
+ dodoc kernel/2.4/*
+ docinto kernel/2.6
+ dodoc kernel/2.6/*
+
+ # move static libraries to /usr/lib
+ dodir /usr/$(get_libdir)
+ mv -f ${D}/$(get_libdir)/*.a ${D}/usr/$(get_libdir)
+
+ # Create linker scripts for dynamic libs in /lib, else gcc
+ # links to the static ones in /usr/lib first. Bug #4411.
+ for x in ${D}/usr/$(get_libdir)/*.a
+ do
+ if [ -f ${x} ]
+ then
+ local lib="${x##*/}"
+ gen_usr_ldscript ${lib/\.a/\.so}
+ fi
+ done
+
+ # the gtk+ frontend should live in /usr/sbin
+ if use gtk
+ then
+ dodir /usr/sbin
+ mv -f ${D}/sbin/evmsgui ${D}/usr/sbin
+ fi
+
+ # Needed for bug #51252
+ dosym libevms-2.5.so.0.0 /$(get_libdir)/libevms-2.5.so.0
+}
diff --git a/sys-fs/evms/files/2.5.5/md_super_fix.patch b/sys-fs/evms/files/2.5.5/md_super_fix.patch
new file mode 100644
index 000000000000..8ff1b4a22997
--- /dev/null
+++ b/sys-fs/evms/files/2.5.5/md_super_fix.patch
@@ -0,0 +1,96 @@
+--- evms-2.5.5/plugins/md/md_super.c 2006-02-22 14:34:53.000000000 -0600
++++ evms-2.5.5.fix/plugins/md/md_super.c 2006-04-20 11:00:40.733364216 -0500
+@@ -1312,13 +1312,13 @@
+
+ static int sb0_zero_superblock(md_member_t *member, boolean now)
+ {
+- mdp_super_t sb;
++ char buf[MD_SB_BYTES];
+
+ LOG_ENTRY();
+
+ if (now == TRUE) {
+- memset(&sb, 0, MD_SB_BYTES);
+- if ( WRITE(member->obj, member->super_offset, MD_SB_SECTORS, (char*)&sb)) {
++ memset(buf, 0, MD_SB_BYTES);
++ if ( WRITE(member->obj, member->super_offset, MD_SB_SECTORS, buf)) {
+ LOG_EXIT_INT(EIO);
+ return EIO;
+ }
+@@ -1332,7 +1332,7 @@
+
+ static int sb0_zero_saved_info(md_member_t *member, boolean now)
+ {
+- md_saved_info_t info;
++ char buf[MD_SAVED_INFO_BYTES];
+ u_int64_t location;
+
+ LOG_ENTRY();
+@@ -1341,8 +1341,8 @@
+ location += MD_SB0_SAVED_INFO_SECTOR_OFFSET;
+
+ if (now == TRUE) {
+- memset(&info, 0, sizeof(md_saved_info_t));
+- if ( WRITE(member->obj, location, MD_SAVED_INFO_SECTS, (char*)&info)) {
++ memset(buf, 0, MD_SAVED_INFO_BYTES);
++ if ( WRITE(member->obj, location, MD_SAVED_INFO_SECTS, buf)) {
+ LOG_EXIT_INT(EIO);
+ return EIO;
+ }
+@@ -2451,6 +2451,7 @@
+ {
+ int rc = 0;
+ mdp_sb_1_t *duplicate = NULL;
++ mdp_sb_1_t *master;
+ md_volume_t *vol;
+
+ LOG_ENTRY();
+@@ -2462,9 +2463,16 @@
+ }
+
+ vol = member->vol;
++ master = (mdp_sb_1_t *)vol->sb;
++
++ if (vol->flags & (MD_NEW_REGION | MD_DEGRADED)) {
++ LOG_WARNING("%s: Creating new array with missing disk,"
++ " set resync_offset to -1.\n", vol->name);
++ master->resync_offset = -1;
++ }
+
+ /* Copy from master superblock */
+- rc = sb1_duplicate_sb(&member->sb, vol->sb);
++ rc = sb1_duplicate_sb(&member->sb, master);
+ if (rc) {
+ goto out;
+ }
+@@ -2602,8 +2610,8 @@
+ member->obj->name, member->super_offset);
+
+ if (now == TRUE) {
+- memset(&sb, 0, MD_SB_1_BYTES);
+- if ( WRITE(member->obj, member->super_offset, MD_SB_1_SECTORS, (char*)&sb)) {
++ memset(sb, 0, MD_SB_1_BYTES);
++ if ( WRITE(member->obj, member->super_offset, MD_SB_1_SECTORS, sb)) {
+ LOG_EXIT_INT(EIO);
+ return EIO;
+ }
+@@ -2616,7 +2624,7 @@
+
+ static int sb1_zero_saved_info(md_member_t *member, boolean now)
+ {
+- md_saved_info_t info;
++ char buf[MD_SAVED_INFO_BYTES];
+ u_int64_t location;
+
+ LOG_ENTRY();
+@@ -2627,8 +2635,8 @@
+ member->obj->name, location);
+
+ if (now == TRUE) {
+- memset(&info, 0, sizeof(md_saved_info_t));
+- if ( WRITE(member->obj, location, MD_SAVED_INFO_SECTS, (char*)&info)) {
++ memset(buf, 0, MD_SAVED_INFO_BYTES);
++ if ( WRITE(member->obj, location, MD_SAVED_INFO_SECTS, buf) ) {
+ LOG_EXIT_INT(EIO);
+ return EIO;
+ }
diff --git a/sys-fs/evms/files/2.5.5/raid5_degrade_fix.patch b/sys-fs/evms/files/2.5.5/raid5_degrade_fix.patch
new file mode 100644
index 000000000000..973f65011958
--- /dev/null
+++ b/sys-fs/evms/files/2.5.5/raid5_degrade_fix.patch
@@ -0,0 +1,38 @@
+--- 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;
diff --git a/sys-fs/evms/files/digest-evms-2.5.5 b/sys-fs/evms/files/digest-evms-2.5.5
index 60b14e266b3e..33b12c6760ce 100644
--- a/sys-fs/evms/files/digest-evms-2.5.5
+++ b/sys-fs/evms/files/digest-evms-2.5.5
@@ -1 +1,3 @@
MD5 45b463f0cbade194dc0a08be432b572e evms-2.5.5.tar.gz 2286321
+RMD160 716d6b34f48f6f7a3f5f4627bc4a2c34957607f7 evms-2.5.5.tar.gz 2286321
+SHA256 9dbfaac148d822068ba883f6533935e03ae5cfc9fdf8836dea6aee99c859307c evms-2.5.5.tar.gz 2286321
diff --git a/sys-fs/evms/files/digest-evms-2.5.5-r1 b/sys-fs/evms/files/digest-evms-2.5.5-r1
new file mode 100644
index 000000000000..33b12c6760ce
--- /dev/null
+++ b/sys-fs/evms/files/digest-evms-2.5.5-r1
@@ -0,0 +1,3 @@
+MD5 45b463f0cbade194dc0a08be432b572e evms-2.5.5.tar.gz 2286321
+RMD160 716d6b34f48f6f7a3f5f4627bc4a2c34957607f7 evms-2.5.5.tar.gz 2286321
+SHA256 9dbfaac148d822068ba883f6533935e03ae5cfc9fdf8836dea6aee99c859307c evms-2.5.5.tar.gz 2286321