diff options
author | Caleb Tennis <caleb@gentoo.org> | 2008-02-08 14:48:36 +0000 |
---|---|---|
committer | Caleb Tennis <caleb@gentoo.org> | 2008-02-08 14:48:36 +0000 |
commit | a4c1e90570ff4811cb99d6f0b78c08a51cf1a4cf (patch) | |
tree | 948f31f32a7a9ffb976928b10fcef92ddd9ca73d /sys-cluster/gfs-kernel | |
parent | Fix metadata. (diff) | |
download | gentoo-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')
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 "" +} |