summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Zoffoli <xmerlin@gentoo.org>2007-05-08 10:53:48 +0000
committerChristian Zoffoli <xmerlin@gentoo.org>2007-05-08 10:53:48 +0000
commit4fafd3ebdf3164c0d582a9513d03b3e4fae1e840 (patch)
tree924445228258d0c734d019c025ee793a80c5050c /sys-cluster
parentPush out a patch to work with different style of kernel version names, (diff)
downloadhistorical-4fafd3ebdf3164c0d582a9513d03b3e4fae1e840.tar.gz
historical-4fafd3ebdf3164c0d582a9513d03b3e4fae1e840.tar.bz2
historical-4fafd3ebdf3164c0d582a9513d03b3e4fae1e840.zip
Ebuild cleanup, add some new ebuild that compiles with newer kernels.
Package-Manager: portage-2.1.2.2
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/gfs-kernel/ChangeLog13
-rw-r--r--sys-cluster/gfs-kernel/Manifest55
-rw-r--r--sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.02.00-r29
-rw-r--r--sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.03.00-r1 (renamed from sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.03.00)0
-rw-r--r--sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.04.003
-rw-r--r--sys-cluster/gfs-kernel/files/gfs-kernel-1.03.00-post-2.6.18.patch197
-rw-r--r--sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch643
-rw-r--r--sys-cluster/gfs-kernel/gfs-kernel-1.02.00-r2.ebuild82
-rw-r--r--sys-cluster/gfs-kernel/gfs-kernel-1.03.00-r1.ebuild (renamed from sys-cluster/gfs-kernel/gfs-kernel-1.03.00.ebuild)18
-rw-r--r--sys-cluster/gfs-kernel/gfs-kernel-1.04.00.ebuild75
10 files changed, 1079 insertions, 16 deletions
diff --git a/sys-cluster/gfs-kernel/ChangeLog b/sys-cluster/gfs-kernel/ChangeLog
index fc91c9f17a4c..0192f5291d80 100644
--- a/sys-cluster/gfs-kernel/ChangeLog
+++ b/sys-cluster/gfs-kernel/ChangeLog
@@ -1,6 +1,17 @@
# 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.23 2007/04/26 06:35:54 dberkholz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/gfs-kernel/ChangeLog,v 1.24 2007/05/08 10:53:48 xmerlin Exp $
+
+*gfs-kernel-1.04.00 (08 May 2007)
+*gfs-kernel-1.03.00-r1 (08 May 2007)
+*gfs-kernel-1.02.00-r2 (08 May 2007)
+
+ 08 May 2007; Christian Zoffoli <xmerlin@gentoo.org>
+ +files/gfs-kernel-1.03.00-post-2.6.18.patch,
+ +files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch,
+ +gfs-kernel-1.02.00-r2.ebuild, -gfs-kernel-1.03.00.ebuild,
+ +gfs-kernel-1.03.00-r1.ebuild, +gfs-kernel-1.04.00.ebuild:
+ Ebuild cleanup, add some new ebuild that compiles with newer kernels.
26 Apr 2007; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml:
Update for cluster herd split to hp-cluster and ha-cluster.
diff --git a/sys-cluster/gfs-kernel/Manifest b/sys-cluster/gfs-kernel/Manifest
index 684871f0bf4b..e8bc003ac1ed 100644
--- a/sys-cluster/gfs-kernel/Manifest
+++ b/sys-cluster/gfs-kernel/Manifest
@@ -1,27 +1,47 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX gfs-kernel-1.02.00-20060714-cvs-compile.patch 339 RMD160 35b90bf495110cd36ffd986108f9eafbcfda8c75 SHA1 602b1bdde1a2419bd31cbde7c64fd12430b373d2 SHA256 16091ba242bf1842b512c2527c91676d57f8d230fd650374123e850db415e2ae
MD5 f1b72a219e3dd3addc58bce2655f2e12 files/gfs-kernel-1.02.00-20060714-cvs-compile.patch 339
RMD160 35b90bf495110cd36ffd986108f9eafbcfda8c75 files/gfs-kernel-1.02.00-20060714-cvs-compile.patch 339
SHA256 16091ba242bf1842b512c2527c91676d57f8d230fd650374123e850db415e2ae files/gfs-kernel-1.02.00-20060714-cvs-compile.patch 339
+AUX gfs-kernel-1.03.00-post-2.6.18.patch 8019 RMD160 db788c7ac8f95e02e1ee231146185785aa1663d1 SHA1 788f3a06b0f0f3a7cf20addbfb2dc3f1ac6f8642 SHA256 164a710c54c6ea3f05fecfd14e29a6b255a7b7bae64d9c14a4fc9f651b578bbd
+MD5 d5a3df84a3f8576597244ab62b75d815 files/gfs-kernel-1.03.00-post-2.6.18.patch 8019
+RMD160 db788c7ac8f95e02e1ee231146185785aa1663d1 files/gfs-kernel-1.03.00-post-2.6.18.patch 8019
+SHA256 164a710c54c6ea3f05fecfd14e29a6b255a7b7bae64d9c14a4fc9f651b578bbd files/gfs-kernel-1.03.00-post-2.6.18.patch 8019
AUX gfs-kernel-1.03.00-pre2.6.17-compilefix.patch 3849 RMD160 3c6900e139cea9f9b8b04848dd649c185c0f855e SHA1 00e58fb1ed0372e8119f196da3f919acea18db37 SHA256 0653c19687038b93500b764ed3e9c6aa556b25bc80498a56939f78b429245949
MD5 961d303e31f107db462c067c2e561c0b files/gfs-kernel-1.03.00-pre2.6.17-compilefix.patch 3849
RMD160 3c6900e139cea9f9b8b04848dd649c185c0f855e files/gfs-kernel-1.03.00-pre2.6.17-compilefix.patch 3849
SHA256 0653c19687038b93500b764ed3e9c6aa556b25bc80498a56939f78b429245949 files/gfs-kernel-1.03.00-pre2.6.17-compilefix.patch 3849
+AUX gfs-kernel-1.04.00-pre2.6.17-compilefix.patch 20106 RMD160 53b69eaa4fbd49dbc88b13970583b18ee3612287 SHA1 cc86e30274ae1fce375cfe022970b4776ed53168 SHA256 2600ca8018a6b2d375cd025edb2f6ef4d174e5b003cfa9e023d5f949fda0acb7
+MD5 2976c6c424a27e5ccbbadd883e4b8264 files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch 20106
+RMD160 53b69eaa4fbd49dbc88b13970583b18ee3612287 files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch 20106
+SHA256 2600ca8018a6b2d375cd025edb2f6ef4d174e5b003cfa9e023d5f949fda0acb7 files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch 20106
DIST cluster-1.02.00.tar.gz 1356451 RMD160 e9c0cdd1f5a7542c8a4ea38ccf6d057767269dc5 SHA1 d74cadb1ef21d1cfda333b20d7ef20272e0002d6 SHA256 de45885146f1481808f7a34af5e6b7e2042895a4e3844eaa6161f942345c7849
DIST cluster-1.03.00.tar.gz 1658274 RMD160 6fc16e2edba73dd1a83ecfad749b1553eca6d938 SHA1 c205d8ec034433c33f26724f7f69b0028d2a63d4 SHA256 e61c2438c7ee8d546aec9dd86ee1851c9a71f127c25ad1fb0c59eb4ed534e97b
+DIST cluster-1.04.00.tar.gz 1663798 RMD160 5b241f38123c9ad65faf2a9eda7aa3e2dabee839 SHA1 af3bb244a11a6a26c31b142009f6c1f771799337 SHA256 6f4b48e67383681ea6ad6e2907b56e755049816186375c4f2bcb9482da31c2c2
DIST gfs-kernel-1.02.00-20060714-cvs-part1.patch.gz 4919 RMD160 9cd7c3df465a1c85fc59a57ee601f4b6b589284f SHA1 ba1db2ebc3aae95ce690a1ada0f1ca6f593ec0da SHA256 39fb40d83cd4547a45ef00c11714392a7cc15b968b5c7aa05fd96eb63d9c7196
DIST gfs-kernel-1.02.00-20060714-cvs-part2.patch.gz 1086 RMD160 bc10691dbdd4afb6d8fa8618f3b42d54792fb3bf SHA1 2f2ace6894aec9ba92d779afeb294ff0551d169f SHA256 7a6a7b531f9cd73a3b2ab46849372862d1903a9a0d879544ef60599762ad9ff6
EBUILD gfs-kernel-1.02.00-r1.ebuild 1936 RMD160 995f974dcae00aa539419fc3a9ade16cc2af03a0 SHA1 203b9709b09b05afb25c15b5af5ecf6adc3cd8ce SHA256 84edbbcce325748593797d66c0e569ee69c2c4078cbee1965e89b0f4815c84ae
MD5 31ebc2043546cdf682b7c574fc995397 gfs-kernel-1.02.00-r1.ebuild 1936
RMD160 995f974dcae00aa539419fc3a9ade16cc2af03a0 gfs-kernel-1.02.00-r1.ebuild 1936
SHA256 84edbbcce325748593797d66c0e569ee69c2c4078cbee1965e89b0f4815c84ae gfs-kernel-1.02.00-r1.ebuild 1936
-EBUILD gfs-kernel-1.03.00.ebuild 1399 RMD160 58bf8b5ff931e8abbc2f6fbd035ac6b385abcfbe SHA1 d35437c6fbf2ccb34353b423bb413a6f64b6eaf9 SHA256 8d0e002699bf7e23cb1f385c4262327600672e775516b9448183fd241dc8591f
-MD5 db13a48548262fd441165394926db553 gfs-kernel-1.03.00.ebuild 1399
-RMD160 58bf8b5ff931e8abbc2f6fbd035ac6b385abcfbe gfs-kernel-1.03.00.ebuild 1399
-SHA256 8d0e002699bf7e23cb1f385c4262327600672e775516b9448183fd241dc8591f gfs-kernel-1.03.00.ebuild 1399
-MISC ChangeLog 3711 RMD160 e0cba82ec5fe798cbb540ce30a79168f64e64602 SHA1 66276e5c9fa4e5d08d2902d17695afecf596c308 SHA256 3dbd1589863b6e7204b4afd2430ffa84570783bb97420614c30cb935b7073cbc
-MD5 423b46fe7eae11b5f880bd21aed81994 ChangeLog 3711
-RMD160 e0cba82ec5fe798cbb540ce30a79168f64e64602 ChangeLog 3711
-SHA256 3dbd1589863b6e7204b4afd2430ffa84570783bb97420614c30cb935b7073cbc ChangeLog 3711
+EBUILD gfs-kernel-1.02.00-r2.ebuild 2188 RMD160 7b5fd209d242e89c9d904563c7e377c94729e548 SHA1 162c1b3d9f8cec27711a2f9f199de87c1f1e2952 SHA256 79d6d91b8bfab4946a78722195e67d1f7b07561aa86f6e0a6a4083b595c11d83
+MD5 3cf63977feb093a15b1b860fe8e85524 gfs-kernel-1.02.00-r2.ebuild 2188
+RMD160 7b5fd209d242e89c9d904563c7e377c94729e548 gfs-kernel-1.02.00-r2.ebuild 2188
+SHA256 79d6d91b8bfab4946a78722195e67d1f7b07561aa86f6e0a6a4083b595c11d83 gfs-kernel-1.02.00-r2.ebuild 2188
+EBUILD gfs-kernel-1.03.00-r1.ebuild 1649 RMD160 d529f556ac77198b9c45ec1543815a9f737e41cf SHA1 1edc8d72c0b95036dc41f3a254f35cbab6956a60 SHA256 cf4c7913454353b0931b268b37b0127dc618f15b9f7435bad10022261535469b
+MD5 b577da79279ced1d942c816cc1727f50 gfs-kernel-1.03.00-r1.ebuild 1649
+RMD160 d529f556ac77198b9c45ec1543815a9f737e41cf gfs-kernel-1.03.00-r1.ebuild 1649
+SHA256 cf4c7913454353b0931b268b37b0127dc618f15b9f7435bad10022261535469b gfs-kernel-1.03.00-r1.ebuild 1649
+EBUILD gfs-kernel-1.04.00.ebuild 1721 RMD160 831a1530dfe5d610c8dd3d614c09d5a5b798b53a SHA1 953738ecf9cb323fe6286d93fa39b3da88de8aae SHA256 0892ccb86ef3801d09002a9bafe27cddc496546ff28efa719fc17144dd851e53
+MD5 8ee853f093ba93bb85206f05e8e073eb gfs-kernel-1.04.00.ebuild 1721
+RMD160 831a1530dfe5d610c8dd3d614c09d5a5b798b53a gfs-kernel-1.04.00.ebuild 1721
+SHA256 0892ccb86ef3801d09002a9bafe27cddc496546ff28efa719fc17144dd851e53 gfs-kernel-1.04.00.ebuild 1721
+MISC ChangeLog 4170 RMD160 b46725cd684f51e6b8d5ee1fd80fe0d52701008d SHA1 fa383fef212db4c8ebe5cc01a2b8b48c01d8e613 SHA256 4f72597d88ef626716e3efef130d2dce4249b9712561fe6ef7326c63546c91d4
+MD5 efd7af328f977f817ffaaedc585b677f ChangeLog 4170
+RMD160 b46725cd684f51e6b8d5ee1fd80fe0d52701008d ChangeLog 4170
+SHA256 4f72597d88ef626716e3efef130d2dce4249b9712561fe6ef7326c63546c91d4 ChangeLog 4170
MISC metadata.xml 229 RMD160 4dcf17b88c5f4db2e817f473f3e8269b0bff2e6e SHA1 e6315be43241c55bdc0d12a42fa05632c5ff9b79 SHA256 49e13d2d49bef7298e3bb665ebeceeff9b0880fae5ff639cb8405993504f244f
MD5 58f295ba7477091e41340647670f3231 metadata.xml 229
RMD160 4dcf17b88c5f4db2e817f473f3e8269b0bff2e6e metadata.xml 229
@@ -29,6 +49,19 @@ SHA256 49e13d2d49bef7298e3bb665ebeceeff9b0880fae5ff639cb8405993504f244f metadata
MD5 ed2372ea9aebb7aef466e3c3ab76d550 files/digest-gfs-kernel-1.02.00-r1 876
RMD160 a795aefc14c11c67fad505144d0cd57fd33b5ad1 files/digest-gfs-kernel-1.02.00-r1 876
SHA256 afcadf1830cccdeda274e04db7d483ce2ea53c3fdee08b9b46172ee23eb9ccab files/digest-gfs-kernel-1.02.00-r1 876
-MD5 e127cf65d51c816513b658dbed429e5f files/digest-gfs-kernel-1.03.00 250
-RMD160 5332ca5282fb5b303388c7939ecc08b44aa340eb files/digest-gfs-kernel-1.03.00 250
-SHA256 2cebe51521eb8f9a520e29bb0d8baa5820ef747d5e5e18218a5d1880e40167f8 files/digest-gfs-kernel-1.03.00 250
+MD5 ed2372ea9aebb7aef466e3c3ab76d550 files/digest-gfs-kernel-1.02.00-r2 876
+RMD160 a795aefc14c11c67fad505144d0cd57fd33b5ad1 files/digest-gfs-kernel-1.02.00-r2 876
+SHA256 afcadf1830cccdeda274e04db7d483ce2ea53c3fdee08b9b46172ee23eb9ccab files/digest-gfs-kernel-1.02.00-r2 876
+MD5 e127cf65d51c816513b658dbed429e5f files/digest-gfs-kernel-1.03.00-r1 250
+RMD160 5332ca5282fb5b303388c7939ecc08b44aa340eb files/digest-gfs-kernel-1.03.00-r1 250
+SHA256 2cebe51521eb8f9a520e29bb0d8baa5820ef747d5e5e18218a5d1880e40167f8 files/digest-gfs-kernel-1.03.00-r1 250
+MD5 648c6ee5451d59bbe7aa185da1c4e1b5 files/digest-gfs-kernel-1.04.00 250
+RMD160 c6f4b2412d1edf08cf42e538e447b2fea8aafd8e files/digest-gfs-kernel-1.04.00 250
+SHA256 358be21a647dcb0388ec46ddf8044de17a3fdb8c57b0f63e5bcc6340eb476d31 files/digest-gfs-kernel-1.04.00 250
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+iD8DBQFGQFbGgMUyd/cdjWsRAvXXAJ4xTh0HjDjOuI6ZZsN9Ux7ShjRELgCffXDy
+WvP/+vLemPWFEaEoGKYvZR0=
+=j11K
+-----END PGP SIGNATURE-----
diff --git a/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.02.00-r2 b/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.02.00-r2
new file mode 100644
index 000000000000..7b137a3e5d96
--- /dev/null
+++ b/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.02.00-r2
@@ -0,0 +1,9 @@
+MD5 131c34c8b66d8d7d74384839ed4091d0 cluster-1.02.00.tar.gz 1356451
+RMD160 e9c0cdd1f5a7542c8a4ea38ccf6d057767269dc5 cluster-1.02.00.tar.gz 1356451
+SHA256 de45885146f1481808f7a34af5e6b7e2042895a4e3844eaa6161f942345c7849 cluster-1.02.00.tar.gz 1356451
+MD5 67c38ef215cfccbafbfcd7d8e40867b4 gfs-kernel-1.02.00-20060714-cvs-part1.patch.gz 4919
+RMD160 9cd7c3df465a1c85fc59a57ee601f4b6b589284f gfs-kernel-1.02.00-20060714-cvs-part1.patch.gz 4919
+SHA256 39fb40d83cd4547a45ef00c11714392a7cc15b968b5c7aa05fd96eb63d9c7196 gfs-kernel-1.02.00-20060714-cvs-part1.patch.gz 4919
+MD5 916c21631d512bda65fcbdc43bcba1b5 gfs-kernel-1.02.00-20060714-cvs-part2.patch.gz 1086
+RMD160 bc10691dbdd4afb6d8fa8618f3b42d54792fb3bf gfs-kernel-1.02.00-20060714-cvs-part2.patch.gz 1086
+SHA256 7a6a7b531f9cd73a3b2ab46849372862d1903a9a0d879544ef60599762ad9ff6 gfs-kernel-1.02.00-20060714-cvs-part2.patch.gz 1086
diff --git a/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.03.00 b/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.03.00-r1
index 09fda78c7e81..09fda78c7e81 100644
--- a/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.03.00
+++ b/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.03.00-r1
diff --git a/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.04.00 b/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.04.00
new file mode 100644
index 000000000000..2f86eed7f8e5
--- /dev/null
+++ b/sys-cluster/gfs-kernel/files/digest-gfs-kernel-1.04.00
@@ -0,0 +1,3 @@
+MD5 d1a0363109d0188959ec35b7d6ebfb67 cluster-1.04.00.tar.gz 1663798
+RMD160 5b241f38123c9ad65faf2a9eda7aa3e2dabee839 cluster-1.04.00.tar.gz 1663798
+SHA256 6f4b48e67383681ea6ad6e2907b56e755049816186375c4f2bcb9482da31c2c2 cluster-1.04.00.tar.gz 1663798
diff --git a/sys-cluster/gfs-kernel/files/gfs-kernel-1.03.00-post-2.6.18.patch b/sys-cluster/gfs-kernel/files/gfs-kernel-1.03.00-post-2.6.18.patch
new file mode 100644
index 000000000000..8fbb53effe00
--- /dev/null
+++ b/sys-cluster/gfs-kernel/files/gfs-kernel-1.03.00-post-2.6.18.patch
@@ -0,0 +1,197 @@
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/dlm/lock_dlm.h cluster-1.03.00/gfs-kernel/src/dlm/lock_dlm.h
+--- cluster-1.03.00.orig/gfs-kernel/src/dlm/lock_dlm.h 2006-07-12 23:58:29.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/dlm/lock_dlm.h 2007-03-09 21:00:27.000000000 +0100
+@@ -24,7 +24,7 @@
+ #include <linux/socket.h>
+ #include <linux/kthread.h>
+ #include <net/sock.h>
+-#include <linux/lm_interface.h>
++#include "lm_interface.h"
+ #include <cluster/cnxman.h>
+ #include <cluster/service.h>
+ #include <cluster/dlm.h>
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/gfs/gfs.h cluster-1.03.00/gfs-kernel/src/gfs/gfs.h
+--- cluster-1.03.00.orig/gfs-kernel/src/gfs/gfs.h 2006-08-16 23:52:45.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/gfs/gfs.h 2007-03-09 21:46:50.000000000 +0100
+@@ -16,7 +16,7 @@
+
+ #define GFS_RELEASE_NAME "1.03.00"
+
+-#include <linux/lm_interface.h>
++#include "lm_interface.h"
+ #include <linux/gfs_ondisk.h>
+
+ #include "fixed_div64.h"
+@@ -67,8 +67,8 @@
+
+ #define get_v2sdp(sb) ((struct gfs_sbd *)(sb)->s_fs_info)
+ #define set_v2sdp(sb, sdp) (sb)->s_fs_info = (sdp)
+-#define get_v2ip(inode) ((struct gfs_inode *)(inode)->u.generic_ip)
+-#define set_v2ip(inode, ip) (inode)->u.generic_ip = (ip)
++#define get_v2ip(inode) ((struct gfs_inode *)(inode)->i_private)
++#define set_v2ip(inode, ip) (inode)->i_private = (ip)
+ #define get_v2fp(file) ((struct gfs_file *)(file)->private_data)
+ #define set_v2fp(file, fp) (file)->private_data = (fp)
+ #define get_v2bd(bh) ((struct gfs_bufdata *)(bh)->b_private)
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/gfs/inode.c cluster-1.03.00/gfs-kernel/src/gfs/inode.c
+--- cluster-1.03.00.orig/gfs-kernel/src/gfs/inode.c 2005-09-18 05:01:24.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/gfs/inode.c 2007-03-09 21:48:37.000000000 +0100
+@@ -97,7 +97,6 @@
+ inode->i_mtime.tv_sec = ip->i_di.di_mtime;
+ inode->i_ctime.tv_sec = ip->i_di.di_ctime;
+ inode->i_atime.tv_nsec = inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec = 0;
+- inode->i_blksize = PAGE_SIZE;
+ inode->i_blocks = ip->i_di.di_blocks <<
+ (ip->i_sbd->sd_sb.sb_bsize_shift - GFS_BASIC_BLOCK_SHIFT);
+ inode->i_generation = ip->i_di.di_header.mh_incarn;
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/gfs/ops_inode.c cluster-1.03.00/gfs-kernel/src/gfs/ops_inode.c
+--- cluster-1.03.00.orig/gfs-kernel/src/gfs/ops_inode.c 2006-08-16 16:40:54.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/gfs/ops_inode.c 2007-03-09 21:50:15.000000000 +0100
+@@ -171,22 +171,22 @@
+ parent = dget_parent(dentry);
+
+ if (gfs_filecmp(&dentry->d_name, "@hostname", 9))
+- new = lookup_one_len(system_utsname.nodename,
++ new = lookup_one_len(init_utsname()->nodename,
+ parent,
+- strlen(system_utsname.nodename));
++ strlen(init_utsname()->nodename));
+ else if (gfs_filecmp(&dentry->d_name, "@nodeid", 7))
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s%i", "node",
+ get_my_nodeid()));
+ else if (gfs_filecmp(&dentry->d_name, "@mach", 5))
+- new = lookup_one_len(system_utsname.machine,
++ new = lookup_one_len(init_utsname()->machine,
+ parent,
+- strlen(system_utsname.machine));
++ strlen(init_utsname()->machine));
+ else if (gfs_filecmp(&dentry->d_name, "@os", 3))
+- new = lookup_one_len(system_utsname.sysname,
++ new = lookup_one_len(init_utsname()->sysname,
+ parent,
+- strlen(system_utsname.sysname));
++ strlen(init_utsname()->sysname));
+ else if (gfs_filecmp(&dentry->d_name, "@uid", 4))
+ new = lookup_one_len(buf,
+ parent,
+@@ -199,8 +199,8 @@
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s_%s",
+- system_utsname.machine,
+- system_utsname.sysname));
++ init_utsname()->machine,
++ init_utsname()->sysname));
+ else if (gfs_filecmp(&dentry->d_name, "@jid", 4))
+ new = lookup_one_len(buf,
+ parent,
+@@ -235,22 +235,22 @@
+ parent = dget_parent(dentry);
+
+ if (gfs_filecmp(&dentry->d_name, "{hostname}", 10))
+- new = lookup_one_len(system_utsname.nodename,
++ new = lookup_one_len(init_utsname()->nodename,
+ parent,
+- strlen(system_utsname.nodename));
++ strlen(init_utsname()->nodename));
+ else if (gfs_filecmp(&dentry->d_name, "{nodeid}", 8))
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s%i", "node",
+ get_my_nodeid()));
+ else if (gfs_filecmp(&dentry->d_name, "{mach}", 6))
+- new = lookup_one_len(system_utsname.machine,
++ new = lookup_one_len(init_utsname()->machine,
+ parent,
+- strlen(system_utsname.machine));
++ strlen(init_utsname()->machine));
+ else if (gfs_filecmp(&dentry->d_name, "{os}", 4))
+- new = lookup_one_len(system_utsname.sysname,
++ new = lookup_one_len(init_utsname()->sysname,
+ parent,
+- strlen(system_utsname.sysname));
++ strlen(init_utsname()->sysname));
+ else if (gfs_filecmp(&dentry->d_name, "{uid}", 5))
+ new = lookup_one_len(buf,
+ parent,
+@@ -263,8 +263,8 @@
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s_%s",
+- system_utsname.machine,
+- system_utsname.sysname));
++ init_utsname()->machine,
++ init_utsname()->sysname));
+ else if (gfs_filecmp(&dentry->d_name, "{jid}", 5))
+ new = lookup_one_len(buf,
+ parent,
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/gulm/gulm.h cluster-1.03.00/gfs-kernel/src/gulm/gulm.h
+--- cluster-1.03.00.orig/gfs-kernel/src/gulm/gulm.h 2006-08-16 23:53:36.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/gulm/gulm.h 2007-03-09 21:03:23.000000000 +0100
+@@ -24,7 +24,6 @@
+ #include <linux/slab.h>
+ #include <linux/spinlock.h>
+ #include <asm/atomic.h>
+-#include <linux/config.h>
+ #include <linux/version.h>
+ #include <linux/smp_lock.h>
+ #include <linux/list.h>
+@@ -73,7 +72,7 @@
+ /* Divide x by y. Round up if there is a remainder. */
+ #define DIV_RU(x, y) (((x) + (y) - 1) / (y))
+
+-#include <linux/lm_interface.h>
++#include "lm_interface.h"
+
+ #include "gulm_prints.h"
+
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/gulm/gulm_fs.c cluster-1.03.00/gfs-kernel/src/gulm/gulm_fs.c
+--- cluster-1.03.00.orig/gfs-kernel/src/gulm/gulm_fs.c 2005-03-04 21:08:00.000000000 +0100
++++ cluster-1.03.00/gfs-kernel/src/gulm/gulm_fs.c 2007-03-09 21:06:14.000000000 +0100
+@@ -258,7 +258,7 @@
+ if (hostdata != NULL && strlen (hostdata) > 0) {
+ strncpy (gulm_cm.myName, hostdata, 64);
+ } else {
+- strncpy (gulm_cm.myName, system_utsname.nodename, 64);
++ strncpy (gulm_cm.myName, init_utsname()->nodename, 64);
+ }
+ gulm_cm.myName[63] = '\0';
+
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/gulm/handler.h cluster-1.03.00/gfs-kernel/src/gulm/handler.h
+--- cluster-1.03.00.orig/gfs-kernel/src/gulm/handler.h 2004-06-24 10:53:28.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/gulm/handler.h 2007-03-09 21:00:13.000000000 +0100
+@@ -13,7 +13,7 @@
+
+ #ifndef __handler_c__
+ #define __handler_c__
+-#include <linux/lm_interface.h>
++#include "lm_interface.h"
+
+ struct callback_qu_s {
+ struct completion startup;
+diff -uNr cluster-1.03.00.orig/gfs-kernel/src/harness/main.c cluster-1.03.00/gfs-kernel/src/harness/main.c
+--- cluster-1.03.00.orig/gfs-kernel/src/harness/main.c 2006-08-16 23:53:01.000000000 +0200
++++ cluster-1.03.00/gfs-kernel/src/harness/main.c 2007-03-09 20:58:29.000000000 +0100
+@@ -19,7 +19,7 @@
+ #include <linux/sched.h>
+ #include <linux/kmod.h>
+ #include <linux/fs.h>
+-#include <linux/lm_interface.h>
++#include "lm_interface.h"
+
+ #define RELEASE_NAME "1.03.00"
+
+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 2007-03-09 20:59:52.000000000 +0100
+@@ -18,7 +18,7 @@
+ #include <linux/types.h>
+ #include <linux/fs.h>
+ #include <linux/smp_lock.h>
+-#include <linux/lm_interface.h>
++#include "lm_interface.h"
+
+ #define RELEASE_NAME "1.03.00"
+
diff --git a/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch b/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch
new file mode 100644
index 000000000000..db0c13287cf9
--- /dev/null
+++ b/sys-cluster/gfs-kernel/files/gfs-kernel-1.04.00-pre2.6.17-compilefix.patch
@@ -0,0 +1,643 @@
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/gfs/diaper.c cluster-1.04.00/gfs-kernel/src/gfs/diaper.c
+--- cluster-1.04.00.orig/gfs-kernel/src/gfs/diaper.c 2007-02-23 21:57:29.000000000 +0100
++++ cluster-1.04.00/gfs-kernel/src/gfs/diaper.c 2007-03-09 18:50:02.000000000 +0100
+@@ -363,7 +363,7 @@
+ if (!diaper)
+ goto fail_remove;
+
+- mutex_lock(&diaper->bd_mutex);
++ down(&diaper->bd_sem);
+ if (!diaper->bd_openers) {
+ diaper->bd_disk = gd;
+ diaper->bd_contains = diaper;
+@@ -372,7 +372,7 @@
+ } else
+ printk("GFS: diaper: reopening\n");
+ diaper->bd_openers++;
+- mutex_unlock(&diaper->bd_mutex);
++ up(&diaper->bd_sem);
+
+ dh->dh_mempool = mempool_create(512,
+ mempool_alloc_slab, mempool_free_slab,
+@@ -395,14 +395,14 @@
+ mempool_destroy(dh->dh_mempool);
+
+ fail_bdput:
+- mutex_lock(&diaper->bd_mutex);
++ down(&diaper->bd_sem);
+ if (!--diaper->bd_openers) {
+ invalidate_bdev(diaper, 1);
+ diaper->bd_contains = NULL;
+ diaper->bd_disk = NULL;
+ } else
+ printk("GFS: diaper: not closed\n");
+- mutex_unlock(&diaper->bd_mutex);
++ up(&diaper->bd_sem);
+ bdput(diaper);
+
+ fail_remove:
+@@ -438,14 +438,14 @@
+
+ mempool_destroy(dh->dh_mempool);
+
+- mutex_lock(&diaper->bd_mutex);
++ down(&diaper->bd_sem);
+ if (!--diaper->bd_openers) {
+ invalidate_bdev(diaper, 1);
+ diaper->bd_contains = NULL;
+ diaper->bd_disk = NULL;
+ } else
+ printk("GFS: diaper: not closed\n");
+- mutex_unlock(&diaper->bd_mutex);
++ up(&diaper->bd_sem);
+
+ bdput(diaper);
+ del_gendisk(gd);
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/gfs/gfs.h cluster-1.04.00/gfs-kernel/src/gfs/gfs.h
+--- cluster-1.04.00.orig/gfs-kernel/src/gfs/gfs.h 2007-02-27 20:53:00.000000000 +0100
++++ cluster-1.04.00/gfs-kernel/src/gfs/gfs.h 2007-03-09 18:50:02.000000000 +0100
+@@ -67,8 +67,8 @@
+
+ #define get_v2sdp(sb) ((struct gfs_sbd *)(sb)->s_fs_info)
+ #define set_v2sdp(sb, sdp) (sb)->s_fs_info = (sdp)
+-#define get_v2ip(inode) ((struct gfs_inode *)(inode)->i_private)
+-#define set_v2ip(inode, ip) (inode)->i_private = (ip)
++#define get_v2ip(inode) ((struct gfs_inode *)(inode)->u.generic_ip)
++#define set_v2ip(inode, ip) (inode)->u.generic_ip = (ip)
+ #define get_v2fp(file) ((struct gfs_file *)(file)->private_data)
+ #define set_v2fp(file, fp) (file)->private_data = (fp)
+ #define get_v2bd(bh) ((struct gfs_bufdata *)(bh)->b_private)
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/gfs/glock.c cluster-1.04.00/gfs-kernel/src/gfs/glock.c
+--- cluster-1.04.00.orig/gfs-kernel/src/gfs/glock.c 2007-02-07 16:25:05.000000000 +0100
++++ cluster-1.04.00/gfs-kernel/src/gfs/glock.c 2007-03-09 18:50:02.000000000 +0100
+@@ -38,7 +38,7 @@
+
+ struct greedy {
+ struct gfs_holder gr_gh;
+- struct delayed_work gr_work;
++ struct work_struct gr_work;
+ };
+
+ typedef void (*glock_examiner) (struct gfs_glock * gl);
+@@ -1747,9 +1747,9 @@
+ */
+
+ static void
+-greedy_work(struct work_struct *work)
++greedy_work(void *data)
+ {
+- struct greedy *gr = container_of(work, struct greedy, gr_work.work);
++ struct greedy *gr = (struct greedy *)data;
+ struct gfs_holder *gh = &gr->gr_gh;
+ struct gfs_glock *gl = gh->gh_gl;
+ struct gfs_glock_operations *glops = gl->gl_ops;
+@@ -1804,7 +1804,7 @@
+ gfs_holder_init(gl, 0, 0, gh);
+ set_bit(HIF_GREEDY, &gh->gh_iflags);
+ gh->gh_owner = NULL;
+- INIT_DELAYED_WORK(&gr->gr_work, greedy_work);
++ INIT_WORK(&gr->gr_work, greedy_work, gr);
+
+ set_bit(GLF_SKIP_WAITERS2, &gl->gl_flags);
+ schedule_delayed_work(&gr->gr_work, time);
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/gfs/inode.c cluster-1.04.00/gfs-kernel/src/gfs/inode.c
+--- cluster-1.04.00.orig/gfs-kernel/src/gfs/inode.c 2007-02-07 16:25:05.000000000 +0100
++++ cluster-1.04.00/gfs-kernel/src/gfs/inode.c 2007-03-09 18:50:02.000000000 +0100
+@@ -97,6 +97,7 @@
+ inode->i_mtime.tv_sec = ip->i_di.di_mtime;
+ inode->i_ctime.tv_sec = ip->i_di.di_ctime;
+ inode->i_atime.tv_nsec = inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec = 0;
++ inode->i_blksize = PAGE_SIZE;
+ inode->i_blocks = ip->i_di.di_blocks <<
+ (ip->i_sbd->sd_sb.sb_bsize_shift - GFS_BASIC_BLOCK_SHIFT);
+ inode->i_generation = ip->i_di.di_header.mh_incarn;
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/gfs/ops_file.c cluster-1.04.00/gfs-kernel/src/gfs/ops_file.c
+--- cluster-1.04.00.orig/gfs-kernel/src/gfs/ops_file.c 2007-02-07 16:25:05.000000000 +0100
++++ cluster-1.04.00/gfs-kernel/src/gfs/ops_file.c 2007-03-09 18:50:02.000000000 +0100
+@@ -74,10 +74,9 @@
+ };
+
+ typedef ssize_t(*do_rw_t) (struct file * file,
+- char *buf,
+- size_t size, loff_t * offset,
+- struct kiocb *iocb,
+- unsigned int num_gh, struct gfs_holder * ghs);
++ char *buf,
++ size_t size, loff_t * offset,
++ unsigned int num_gh, struct gfs_holder * ghs);
+
+ /**
+ * gfs_llseek - seek to a location in a file
+@@ -130,7 +129,7 @@
+
+ static ssize_t
+ walk_vm_hard(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb, do_rw_t operation)
++ do_rw_t operation)
+ {
+ struct gfs_holder *ghs;
+ unsigned int num_gh = 0;
+@@ -179,7 +178,7 @@
+ gfs_assert(get_v2sdp(sb), x == num_gh,);
+ }
+
+- count = operation(file, buf, size, offset, iocb, num_gh, ghs);
++ count = operation(file, buf, size, offset, num_gh, ghs);
+
+ while (num_gh--)
+ gfs_holder_uninit(&ghs[num_gh]);
+@@ -205,7 +204,7 @@
+
+ static ssize_t
+ walk_vm(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb, do_rw_t operation)
++ do_rw_t operation)
+ {
+ if (current->mm) {
+ struct super_block *sb = file->f_dentry->d_inode->i_sb;
+@@ -232,11 +231,11 @@
+
+ {
+ struct gfs_holder gh;
+- return operation(file, buf, size, offset, iocb, 0, &gh);
++ return operation(file, buf, size, offset, 0, &gh);
+ }
+
+ do_locks:
+- return walk_vm_hard(file, buf, size, offset, iocb, operation);
++ return walk_vm_hard(file, buf, size, offset, operation);
+ }
+
+ /**
+@@ -251,8 +250,7 @@
+ */
+
+ static ssize_t
+-do_read_readi(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb)
++do_read_readi(struct file *file, char *buf, size_t size, loff_t *offset)
+ {
+ struct gfs_inode *ip = get_v2ip(file->f_mapping->host);
+ ssize_t count = 0;
+@@ -293,8 +291,7 @@
+
+ static ssize_t
+ do_read_direct(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb,
+- unsigned int num_gh, struct gfs_holder *ghs)
++ unsigned int num_gh, struct gfs_holder *ghs)
+ {
+ struct inode *inode = file->f_mapping->host;
+ struct gfs_inode *ip = get_v2ip(inode);
+@@ -327,18 +324,10 @@
+ if (((*offset) & mask) || (((unsigned long)buf) & mask))
+ goto out_gunlock;
+
+- count = do_read_readi(file, buf, size & ~mask, offset, iocb);
+- }
+- else {
+- if (!iocb)
+- count = do_sync_read(file, buf, size, offset);
+- else {
+- struct iovec local_iov = { .iov_base = buf, .iov_len = size};
+-
+- count = generic_file_aio_read(iocb, &local_iov, 1, *offset);
+- iocb->ki_pos = *offset;
+- }
++ count = do_read_readi(file, buf, size & ~mask, offset);
+ }
++ else
++ count = generic_file_read(file, buf, size, offset);
+
+ error = 0;
+
+@@ -367,8 +356,7 @@
+
+ static ssize_t
+ do_read_buf(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb,
+- unsigned int num_gh, struct gfs_holder *ghs)
++ unsigned int num_gh, struct gfs_holder *ghs)
+ {
+ struct gfs_inode *ip = get_v2ip(file->f_mapping->host);
+ ssize_t count = 0;
+@@ -382,17 +370,9 @@
+
+ if (gfs_is_jdata(ip) ||
+ (gfs_is_stuffed(ip) && !test_bit(GIF_PAGED, &ip->i_flags)))
+- count = do_read_readi(file, buf, size, offset, iocb);
+- else {
+- if (!iocb) {
+- count = do_sync_read(file, buf, size, offset);
+- } else {
+- struct iovec local_iov = { .iov_base = buf, .iov_len = size};
+-
+- count = generic_file_aio_read(iocb, &local_iov, 1, *offset);
+- iocb->ki_pos = *offset;
+- }
+- }
++ count = do_read_readi(file, buf, size, offset);
++ else
++ count = generic_file_read(file, buf, size, offset);
+
+ gfs_glock_dq_m(num_gh + 1, ghs);
+
+@@ -402,18 +382,6 @@
+ return (count) ? count : error;
+ }
+
+-static ssize_t
+-__gfs_read(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb)
+-{
+- atomic_inc(&get_v2sdp(file->f_mapping->host->i_sb)->sd_ops_file);
+-
+- if (file->f_flags & O_DIRECT)
+- return walk_vm(file, buf, size, offset, iocb, do_read_direct);
+- else
+- return walk_vm(file, buf, size, offset, iocb, do_read_buf);
+-}
+-
+ /**
+ * gfs_read - Read bytes from a file
+ * @file: The file to read from
+@@ -429,21 +397,12 @@
+ static ssize_t
+ gfs_read(struct file *file, char *buf, size_t size, loff_t *offset)
+ {
+- return(__gfs_read(file, buf, size, offset, NULL));
+-}
+-
+-/*
+- * gfs_aio_read: match with vfs generic_file_aio_read as:
+- * (struct kiocb *iocb, char __user *buf, size_t count, loff_t pos)
+- */
+-static ssize_t
+-gfs_aio_read(struct kiocb *iocb, const struct iovec *iov, unsigned long count,
+- loff_t pos)
+-{
+- struct file *filp = iocb->ki_filp;
++ atomic_inc(&get_v2sdp(file->f_mapping->host->i_sb)->sd_ops_file);
+
+- BUG_ON(iocb->ki_pos != pos);
+- return(__gfs_read(filp, iov->iov_base, iov->iov_len, &iocb->ki_pos, iocb));
++ if (file->f_flags & O_DIRECT)
++ return walk_vm(file, buf, size, offset, do_read_direct);
++ else
++ return walk_vm(file, buf, size, offset, do_read_buf);
+ }
+
+ /**
+@@ -478,41 +437,6 @@
+ }
+
+ /**
+- * gfs_file_aio_write_nolock - Call vfs aio layer to write bytes to a file
+- * @file: The file to write to
+- * @buf: The buffer to copy from
+- * @size: The amount of data requested
+- * @offset: The offset in the file to write
+- * @iocb: The io control block. If NULL, a temporary one will be used.
+- *
+- * Returns: The number of bytes written, errno on failure
+- */
+-static ssize_t
+-gfs_file_aio_write_nolock(struct file *file, char *buf, size_t size,
+- loff_t *offset, struct kiocb *iocb)
+-{
+- struct iovec local_iov = { .iov_base = buf, .iov_len = size };
+- struct kiocb local_iocb, *kiocb = NULL;
+- ssize_t count;
+-
+- if (!iocb) {
+- init_sync_kiocb(&local_iocb, file);
+- local_iocb.ki_nr_segs = 1;
+- kiocb = &local_iocb;
+- }
+- else
+- kiocb = iocb;
+-
+- kiocb->ki_pos = *offset;
+- count = generic_file_aio_write_nolock(kiocb, &local_iov, kiocb->ki_nr_segs,
+- kiocb->ki_pos);
+- *offset = kiocb->ki_pos;
+- if (kiocb == &local_iocb && count == -EIOCBQUEUED)
+- count = wait_on_sync_kiocb(kiocb);
+- return count;
+-}
+-
+-/**
+ * do_write_direct_alloc - Write bytes to a file
+ * @file: The file to write to
+ * @buf: The buffer to copy from
+@@ -525,13 +449,13 @@
+ */
+
+ static ssize_t
+-do_write_direct_alloc(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb)
++do_write_direct_alloc(struct file *file, char *buf, size_t size, loff_t *offset)
+ {
+ struct inode *inode = file->f_mapping->host;
+ struct gfs_inode *ip = get_v2ip(inode);
+ struct gfs_sbd *sdp = ip->i_sbd;
+ struct gfs_alloc *al = NULL;
++ struct iovec local_iov = { .iov_base = buf, .iov_len = size };
+ struct buffer_head *dibh;
+ unsigned int data_blocks, ind_blocks;
+ ssize_t count;
+@@ -584,7 +508,7 @@
+ goto fail_end_trans;
+ }
+
+- count = gfs_file_aio_write_nolock(file, buf, size, offset, iocb);
++ count = generic_file_write_nolock(file, &local_iov, 1, offset);
+ if (count < 0) {
+ error = count;
+ goto fail_end_trans;
+@@ -652,7 +576,6 @@
+
+ static ssize_t
+ do_write_direct(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb,
+ unsigned int num_gh, struct gfs_holder *ghs)
+ {
+ struct gfs_inode *ip = get_v2ip(file->f_mapping->host);
+@@ -723,19 +646,13 @@
+ if (alloc_required) {
+ set_bit(GFF_DID_DIRECT_ALLOC, &fp->f_flags);
+
+- /* for asynchronous IO, the buffer can not be splitted */
+- if (iocb) {
+- count = do_write_direct_alloc(file, buf, size, offset, iocb);
+- goto out_iocb_write;
+- }
+-
+ /* split large writes into smaller atomic transactions */
+ while (size) {
+ s = gfs_tune_get(sdp, gt_max_atomic_write);
+ if (s > size)
+ s = size;
+
+- error = do_write_direct_alloc(file, buf, s, offset, iocb);
++ error = do_write_direct_alloc(file, buf, s, offset);
+ if (error < 0)
+ goto out_gunlock;
+
+@@ -744,6 +661,7 @@
+ count += error;
+ }
+ } else {
++ struct iovec local_iov = { .iov_base = buf, .iov_len = size };
+ struct gfs_holder t_gh;
+
+ clear_bit(GFF_DID_DIRECT_ALLOC, &fp->f_flags);
+@@ -752,17 +670,17 @@
+ if (error)
+ goto out_gunlock;
+
+- count = gfs_file_aio_write_nolock(file, buf, size, offset, iocb);
++ count = generic_file_write_nolock(file, &local_iov, 1, offset);
++
+ gfs_glock_dq_uninit(&t_gh);
+ }
+
+-out_iocb_write:
+ error = 0;
+
+-out_gunlock:
++ out_gunlock:
+ gfs_glock_dq_m(num_gh + 1, ghs);
+
+-out:
++ out:
+ gfs_holder_uninit(&ghs[num_gh]);
+
+ return (count) ? count : error;
+@@ -781,8 +699,7 @@
+ */
+
+ static ssize_t
+-do_do_write_buf(struct file *file, char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb)
++do_do_write_buf(struct file *file, char *buf, size_t size, loff_t *offset)
+ {
+ struct inode *inode = file->f_mapping->host;
+ struct gfs_inode *ip = get_v2ip(inode);
+@@ -860,7 +777,7 @@
+ (gfs_is_stuffed(ip) && !test_bit(GIF_PAGED, &ip->i_flags) &&
+ *offset + size <= sdp->sd_sb.sb_bsize - sizeof(struct gfs_dinode))) {
+
+- count = gfs_writei(ip, buf, *offset, size, gfs_copy_from_user, iocb);
++ count = gfs_writei(ip, buf, *offset, size, gfs_copy_from_user,NULL);
+ if (count < 0) {
+ error = count;
+ goto fail_end_trans;
+@@ -875,7 +792,9 @@
+ }
+ *offset += count;
+ } else {
+- count = gfs_file_aio_write_nolock(file, buf, size, offset, iocb);
++ struct iovec local_iov = { .iov_base = buf, .iov_len = size };
++
++ count = generic_file_write_nolock(file, &local_iov, 1, offset);
+ if (count < 0) {
+ error = count;
+ goto fail_end_trans;
+@@ -950,9 +869,8 @@
+
+ static ssize_t
+ do_write_buf(struct file *file,
+- char *buf, size_t size, loff_t *offset,
+- struct kiocb *iocb,
+- unsigned int num_gh, struct gfs_holder *ghs)
++ char *buf, size_t size, loff_t *offset,
++ unsigned int num_gh, struct gfs_holder *ghs)
+ {
+ struct gfs_inode *ip = get_v2ip(file->f_mapping->host);
+ struct gfs_sbd *sdp = ip->i_sbd;
+@@ -989,7 +907,7 @@
+ if (s > size)
+ s = size;
+
+- error = do_do_write_buf(file, buf, s, offset, iocb);
++ error = do_do_write_buf(file, buf, s, offset);
+ if (error < 0)
+ goto out_gunlock;
+
+@@ -1022,7 +940,7 @@
+ */
+
+ static ssize_t
+-__gfs_write(struct file *file, const char *buf, size_t size, loff_t *offset, struct kiocb *iocb)
++gfs_write(struct file *file, const char *buf, size_t size, loff_t *offset)
+ {
+ struct inode *inode = file->f_mapping->host;
+ ssize_t count;
+@@ -1036,32 +954,14 @@
+
+ mutex_lock(&inode->i_mutex);
+ if (file->f_flags & O_DIRECT)
+- count = walk_vm(file, (char *)buf, size, offset, iocb, do_write_direct);
++ count = walk_vm(file, (char *)buf, size, offset, do_write_direct);
+ else
+- count = walk_vm(file, (char *)buf, size, offset, iocb, do_write_buf);
++ count = walk_vm(file, (char *)buf, size, offset, do_write_buf);
+ mutex_unlock(&inode->i_mutex);
+
+ return count;
+ }
+
+-static ssize_t
+-gfs_write(struct file *file, const char *buf, size_t size, loff_t *offset)
+-{
+- return(__gfs_write(file, buf, size, offset, NULL));
+-}
+-
+-static ssize_t
+-gfs_aio_write(struct kiocb *iocb, const struct iovec *iov, unsigned long segs,
+- loff_t pos)
+-{
+- struct file *file = iocb->ki_filp;
+-
+- BUG_ON(iocb->ki_pos != pos);
+-
+- return(__gfs_write(file, iov->iov_base, iov->iov_len, &iocb->ki_pos,
+- iocb));
+-}
+-
+ /**
+ * filldir_reg_func - Report a directory entry to the caller of gfs_dir_read()
+ * @opaque: opaque data used by the function
+@@ -1565,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 {
+@@ -1747,8 +1646,6 @@
+ .llseek = gfs_llseek,
+ .read = gfs_read,
+ .write = gfs_write,
+- .aio_read = gfs_aio_read,
+- .aio_write = gfs_aio_write,
+ .ioctl = gfs_ioctl,
+ .mmap = gfs_mmap,
+ .open = gfs_open,
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/gfs/ops_inode.c cluster-1.04.00/gfs-kernel/src/gfs/ops_inode.c
+--- cluster-1.04.00.orig/gfs-kernel/src/gfs/ops_inode.c 2007-02-07 16:25:05.000000000 +0100
++++ cluster-1.04.00/gfs-kernel/src/gfs/ops_inode.c 2007-03-09 18:50:02.000000000 +0100
+@@ -171,22 +171,22 @@
+ parent = dget_parent(dentry);
+
+ if (gfs_filecmp(&dentry->d_name, "@hostname", 9))
+- new = lookup_one_len(init_utsname()->nodename,
++ new = lookup_one_len(system_utsname.nodename,
+ parent,
+- strlen(init_utsname()->nodename));
++ strlen(system_utsname.nodename));
+ else if (gfs_filecmp(&dentry->d_name, "@nodeid", 7))
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s%i", "node",
+ get_my_nodeid()));
+ else if (gfs_filecmp(&dentry->d_name, "@mach", 5))
+- new = lookup_one_len(init_utsname()->machine,
++ new = lookup_one_len(system_utsname.machine,
+ parent,
+- strlen(init_utsname()->machine));
++ strlen(system_utsname.machine));
+ else if (gfs_filecmp(&dentry->d_name, "@os", 3))
+- new = lookup_one_len(init_utsname()->sysname,
++ new = lookup_one_len(system_utsname.sysname,
+ parent,
+- strlen(init_utsname()->sysname));
++ strlen(system_utsname.sysname));
+ else if (gfs_filecmp(&dentry->d_name, "@uid", 4))
+ new = lookup_one_len(buf,
+ parent,
+@@ -199,8 +199,8 @@
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s_%s",
+- init_utsname()->machine,
+- init_utsname()->sysname));
++ system_utsname.machine,
++ system_utsname.sysname));
+ else if (gfs_filecmp(&dentry->d_name, "@jid", 4))
+ new = lookup_one_len(buf,
+ parent,
+@@ -235,22 +235,22 @@
+ parent = dget_parent(dentry);
+
+ if (gfs_filecmp(&dentry->d_name, "{hostname}", 10))
+- new = lookup_one_len(init_utsname()->nodename,
++ new = lookup_one_len(system_utsname.nodename,
+ parent,
+- strlen(init_utsname()->nodename));
++ strlen(system_utsname.nodename));
+ else if (gfs_filecmp(&dentry->d_name, "{nodeid}", 8))
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s%i", "node",
+ get_my_nodeid()));
+ else if (gfs_filecmp(&dentry->d_name, "{mach}", 6))
+- new = lookup_one_len(init_utsname()->machine,
++ new = lookup_one_len(system_utsname.machine,
+ parent,
+- strlen(init_utsname()->machine));
++ strlen(system_utsname.machine));
+ else if (gfs_filecmp(&dentry->d_name, "{os}", 4))
+- new = lookup_one_len(init_utsname()->sysname,
++ new = lookup_one_len(system_utsname.sysname,
+ parent,
+- strlen(init_utsname()->sysname));
++ strlen(system_utsname.sysname));
+ else if (gfs_filecmp(&dentry->d_name, "{uid}", 5))
+ new = lookup_one_len(buf,
+ parent,
+@@ -263,8 +263,8 @@
+ new = lookup_one_len(buf,
+ parent,
+ sprintf(buf, "%s_%s",
+- init_utsname()->machine,
+- init_utsname()->sysname));
++ system_utsname.machine,
++ system_utsname.sysname));
+ else if (gfs_filecmp(&dentry->d_name, "{jid}", 5))
+ new = lookup_one_len(buf,
+ parent,
+diff -uNr cluster-1.04.00.orig/gfs-kernel/src/nolock/main.c cluster-1.04.00/gfs-kernel/src/nolock/main.c
+--- cluster-1.04.00.orig/gfs-kernel/src/nolock/main.c 2007-02-27 20:53:41.000000000 +0100
++++ cluster-1.04.00/gfs-kernel/src/nolock/main.c 2007-03-09 18:50:02.000000000 +0100
+@@ -244,14 +244,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.02.00-r2.ebuild b/sys-cluster/gfs-kernel/gfs-kernel-1.02.00-r2.ebuild
new file mode 100644
index 000000000000..6209a2fd552e
--- /dev/null
+++ b/sys-cluster/gfs-kernel/gfs-kernel-1.02.00-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2007 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.02.00-r2.ebuild,v 1.1 2007/05/08 10:53:48 xmerlin Exp $
+
+inherit eutils linux-mod linux-info
+
+CLUSTER_RELEASE="1.02.00"
+MY_P="cluster-${CLUSTER_RELEASE}"
+CVS_RELEASE="20060714"
+
+DESCRIPTION="GFS kernel module"
+HOMEPAGE="http://sources.redhat.com/cluster/"
+SRC_URI="ftp://sources.redhat.com/pub/cluster/releases/${MY_P}.tar.gz
+ mirror://gentoo/${PN/headers/kernel}-${PV}-${CVS_RELEASE}-cvs-part1.patch.gz
+ mirror://gentoo/${PN/headers/kernel}-${PV}-${CVS_RELEASE}-cvs-part2.patch.gz
+ http://dev.gentoo.org/~xmerlin/gfs/${PN/headers/kernel}-${PV}-${CVS_RELEASE}-cvs-part1.patch.gz
+ http://dev.gentoo.org/~xmerlin/gfs/${PN/headers/kernel}-${PV}-${CVS_RELEASE}-cvs-part2.patch.gz
+ "
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE=""
+
+DEPEND=">=virtual/linux-sources-2.6.16
+ =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}
+
+ epatch ${WORKDIR}/gfs-kernel-1.02.00-20060714-cvs-part1.patch || die
+ if kernel_is 2 6; then
+ if [ "$KV_PATCH" -gt "16" ] ; then
+ epatch ${WORKDIR}/gfs-kernel-1.02.00-20060714-cvs-part2.patch || die
+ fi
+
+ if [ "$KV_PATCH" -ge "18" ] ; then
+ epatch ${FILESDIR}/${PN}-1.03.00-post-2.6.18.patch || die
+
+ sed -i \
+ -e 's|version.h|utsrelease.h|g' \
+ configure \
+ || die "sed failed"
+ fi
+ fi
+
+ epatch ${FILESDIR}/${PN/headers/kernel}-${PV}-${CVS_RELEASE}-cvs-compile.patch || die
+}
+
+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 ""
+}
diff --git a/sys-cluster/gfs-kernel/gfs-kernel-1.03.00.ebuild b/sys-cluster/gfs-kernel/gfs-kernel-1.03.00-r1.ebuild
index 81275ef53e3a..17d66b930200 100644
--- a/sys-cluster/gfs-kernel/gfs-kernel-1.03.00.ebuild
+++ b/sys-cluster/gfs-kernel/gfs-kernel-1.03.00-r1.ebuild
@@ -1,10 +1,11 @@
# Copyright 1999-2007 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.03.00.ebuild,v 1.6 2007/03/03 00:00:09 xmerlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/gfs-kernel/gfs-kernel-1.03.00-r1.ebuild,v 1.1 2007/05/08 10:53:48 xmerlin Exp $
inherit eutils linux-mod linux-info
-MY_P="cluster-${PV}"
+CLUSTER_RELEASE="1.03.00"
+MY_P="cluster-${CLUSTER_RELEASE}"
DESCRIPTION="GFS kernel module"
HOMEPAGE="http://sources.redhat.com/cluster/"
@@ -17,8 +18,8 @@ KEYWORDS="~amd64 ~ppc ~x86"
IUSE=""
DEPEND=">=virtual/linux-sources-2.6.16
- >=sys-cluster/dlm-headers-1.03.00
- >=sys-cluster/cman-headers-1.03.00"
+ =sys-cluster/dlm-headers-${CLUSTER_RELEASE}*
+ =sys-cluster/cman-headers-${CLUSTER_RELEASE}*"
RDEPEND=""
@@ -39,6 +40,15 @@ src_unpack() {
if [ "$KV_PATCH" -lt "17" ] ; then
epatch ${FILESDIR}/gfs-kernel-1.03.00-pre2.6.17-compilefix.patch || die
fi
+
+ if [ "$KV_PATCH" -ge "18" ] ; then
+ epatch ${FILESDIR}/${P}-post-2.6.18.patch || die
+
+ sed -i \
+ -e 's|version.h|utsrelease.h|g' \
+ configure \
+ || die "sed failed"
+ fi
fi
}
diff --git a/sys-cluster/gfs-kernel/gfs-kernel-1.04.00.ebuild b/sys-cluster/gfs-kernel/gfs-kernel-1.04.00.ebuild
new file mode 100644
index 000000000000..dbba1b328965
--- /dev/null
+++ b/sys-cluster/gfs-kernel/gfs-kernel-1.04.00.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2007 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.ebuild,v 1.1 2007/05/08 10:53:48 xmerlin 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" -lt "17" ] ; then
+ # epatch ${FILESDIR}/gfs-kernel-1.04.00-pre2.6.17-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 ""
+}