summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Tennis <caleb@gentoo.org>2008-02-08 14:48:36 +0000
committerCaleb Tennis <caleb@gentoo.org>2008-02-08 14:48:36 +0000
commita4c1e90570ff4811cb99d6f0b78c08a51cf1a4cf (patch)
tree948f31f32a7a9ffb976928b10fcef92ddd9ca73d /sys-cluster/gfs-kernel
parentFix metadata. (diff)
downloadgentoo-2-a4c1e90570ff4811cb99d6f0b78c08a51cf1a4cf.tar.gz
gentoo-2-a4c1e90570ff4811cb99d6f0b78c08a51cf1a4cf.tar.bz2
gentoo-2-a4c1e90570ff4811cb99d6f0b78c08a51cf1a4cf.zip
Bump with patches for recent kernels, from bug #192115
(Portage version: 2.1.4.1)
Diffstat (limited to 'sys-cluster/gfs-kernel')
-rw-r--r--sys-cluster/gfs-kernel/ChangeLog12
-rw-r--r--sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.12-compilefix.patch51
-rw-r--r--sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.17-compilefix.patch44
-rw-r--r--sys-cluster/gfs-kernel/gfs-kernel-1.04.00-r1.ebuild78
4 files changed, 183 insertions, 2 deletions
diff --git a/sys-cluster/gfs-kernel/ChangeLog b/sys-cluster/gfs-kernel/ChangeLog
index 62870ace5d88..c9990efb7c61 100644
--- a/sys-cluster/gfs-kernel/ChangeLog
+++ b/sys-cluster/gfs-kernel/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-cluster/gfs-kernel
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/gfs-kernel/ChangeLog,v 1.25 2007/05/12 13:28:14 xmerlin Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/gfs-kernel/ChangeLog,v 1.26 2008/02/08 14:48:35 caleb Exp $
+
+*gfs-kernel-1.04.00-r1 (08 Feb 2008)
+
+ 08 Feb 2008; Caleb Tennis <caleb@gentoo.org>
+ +files/gfs-kernel-1.04.00-post2.6.12-compilefix.patch,
+ +files/gfs-kernel-1.04.00-post2.6.17-compilefix.patch,
+ +gfs-kernel-1.04.00-r1.ebuild:
+ Bump with patches for recent kernels, bug #192115
12 May 2007; Christian Zoffoli <xmerlin@gentoo.org>
-files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch,
diff --git a/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.12-compilefix.patch b/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.12-compilefix.patch
new file mode 100644
index 000000000000..1d2d1c16e50d
--- /dev/null
+++ b/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.12-compilefix.patch
@@ -0,0 +1,51 @@
+--- cluster-1.04.00/gfs-kernel/src/gfs/diaper.c 2007-09-11 13:20:51.000000000 +0300
++++ cluster-1.04.00/gfs-kernel/src/gfs/diaper.c 2007-09-11 13:20:59.000000000 +0300
+@@ -397,7 +397,7 @@
+ fail_bdput:
+ mutex_lock(&diaper->bd_mutex);
+ if (!--diaper->bd_openers) {
+- invalidate_bdev(diaper, 1);
++ invalidate_bdev(diaper);
+ diaper->bd_contains = NULL;
+ diaper->bd_disk = NULL;
+ } else
+@@ -440,7 +440,7 @@
+
+ mutex_lock(&diaper->bd_mutex);
+ if (!--diaper->bd_openers) {
+- invalidate_bdev(diaper, 1);
++ invalidate_bdev(diaper);
+ diaper->bd_contains = NULL;
+ diaper->bd_disk = NULL;
+ } else
+--- cluster-1.04.00/gfs-kernel/src/gfs/ops_fstype.c 2007-02-23 22:57:29.000000000 +0200
++++ cluster-1.04.00/gfs-kernel/src/gfs/ops_fstype.c 2007-09-11 13:50:46.000000000 +0300
+@@ -726,13 +726,6 @@
+ goto error;
+ }
+ sb->s_flags |= MS_ACTIVE;
+- /* Equivilant of bdev_uevent(bdev, KOBJ_MOUNT): */
+- if (real->bd_disk) {
+- if (real->bd_part)
+- kobject_uevent(&real->bd_part->kobj, KOBJ_MOUNT);
+- else
+- kobject_uevent(&real->bd_disk->kobj, KOBJ_MOUNT);
+- }
+ }
+
+ return simple_set_mnt(mnt, sb);
+@@ -761,13 +754,6 @@
+ struct block_device *real = gfs_diaper_2real(diaper);
+ unsigned long bsize = block_size(real);
+
+- /* Equivalent of bdev_uevent(bdev, KOBJ_UMOUNT); */
+- if (real->bd_disk) {
+- if (real->bd_part)
+- kobject_uevent(&real->bd_part->kobj, KOBJ_UMOUNT);
+- else
+- kobject_uevent(&real->bd_disk->kobj, KOBJ_UMOUNT);
+- }
+ generic_shutdown_super(sb);
+ set_blocksize(diaper, bsize);
+ set_blocksize(real, bsize);
+
diff --git a/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.17-compilefix.patch b/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.17-compilefix.patch
new file mode 100644
index 000000000000..c372de564f32
--- /dev/null
+++ b/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-post2.6.17-compilefix.patch
@@ -0,0 +1,44 @@
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/gfs/ops_file.c cluster-1.03.00/gfs-kernel/src/gfs/ops_file.c
+--- cluster-1.04.00.orig/gfs-kernel/src/gfs/ops_file.c 2006-06-29 18:50:41.000000000 +0200
++++ cluster-1.04.00/gfs-kernel/src/gfs/ops_file.c 2006-08-30 18:18:06.000000000 +0200
+@@ -1465,13 +1465,12 @@
+
+ if (sdp->sd_args.ar_localflocks) {
+ if (IS_GETLK(cmd)) {
+- struct file_lock tmp;
+- int ret;
++ struct file_lock *tmp;
+ lock_kernel();
+- ret = posix_test_lock(file, fl, &tmp);
++ tmp = posix_test_lock(file, fl);
+ fl->fl_type = F_UNLCK;
+- if (ret)
+- memcpy(fl, &tmp, sizeof(struct file_lock));
++ if (tmp)
++ memcpy(fl, tmp, sizeof(struct file_lock));
+ unlock_kernel();
+ return 0;
+ } else {
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/nolock/main.c cluster-1.03.00/gfs-kernel/src/nolock/main.c
+--- cluster-1.03.00.orig/gfs-kernel/src/nolock/main.c 2006-08-16 23:53:20.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/nolock/main.c 2006-08-30 18:18:06.000000000 +0200
+@@ -243,14 +243,13 @@
+ struct lm_lockname *name,
+ struct file *file, struct file_lock *fl)
+ {
+- struct file_lock tmp;
+- int ret;
++ struct file_lock *tmp;
+
+ lock_kernel();
+- ret = posix_test_lock(file, fl, &tmp);
++ tmp = posix_test_lock(file, fl);
+ fl->fl_type = F_UNLCK;
+- if (ret)
+- memcpy(fl, &tmp, sizeof(struct file_lock));
++ if (tmp)
++ memcpy(fl, tmp, sizeof(struct file_lock));
+ unlock_kernel();
+
+ return 0;
+
diff --git a/sys-cluster/gfs-kernel/gfs-kernel-1.04.00-r1.ebuild b/sys-cluster/gfs-kernel/gfs-kernel-1.04.00-r1.ebuild
new file mode 100644
index 000000000000..ab4a00590f24
--- /dev/null
+++ b/sys-cluster/gfs-kernel/gfs-kernel-1.04.00-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/gfs-kernel/gfs-kernel-1.04.00-r1.ebuild,v 1.1 2008/02/08 14:48:35 caleb Exp $
+
+inherit eutils linux-mod linux-info
+
+CLUSTER_RELEASE="1.04.00"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+DESCRIPTION="GFS kernel module"
+HOMEPAGE="http://sources.redhat.com/cluster/"
+SRC_URI="ftp://sources.redhat.com/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE=""
+
+DEPEND=">=virtual/linux-sources-2.6.17
+ =sys-cluster/dlm-headers-${CLUSTER_RELEASE}*
+ =sys-cluster/cman-headers-${CLUSTER_RELEASE}*"
+
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+ case ${KV_FULL} in
+ 2.2.*|2.4.*) die "${P} supports only 2.6 kernels";;
+ esac
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ if kernel_is 2 6; then
+ if [ "$KV_PATCH" -ge "18" ] ; then
+ epatch "${FILESDIR}"/${P}-post2.6.17-compilefix.patch || die
+ fi
+ if [ "$KV_PATCH" -ge "22" ] ; then
+ epatch "${FILESDIR}"/${P}-post2.6.22-compilefix.patch || die
+ fi
+ if [ "$KV_PATCH" -lt "18" ] ; then
+ sed -i \
+ -e 's|utsrelease.h|version.h|g' \
+ configure \
+ || die "sed failed"
+
+ sed -i \
+ -e 's|init_utsname()->nodename|system_utsname.nodename|g' \
+ src/gulm/gulm_fs.c \
+ || die "sed failed"
+ fi
+ fi
+}
+
+src_compile() {
+ set_arch_to_kernel
+
+ ./configure --kernel_src=${KERNEL_DIR} --verbose || die "configure problem"
+ emake || die "compile problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" module_dir="${D}"/lib/modules/${KV_FULL} install || die "install problem"
+ rm -f "${D}"/usr/include/linux/* || die
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ einfo ""
+ einfo "Please remember to re-emerge ${PN} when you upgrade your kernel!"
+ einfo ""
+}