summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorDaniel Drake <dsd@gentoo.org>2006-10-14 13:56:56 +0000
committerDaniel Drake <dsd@gentoo.org>2006-10-14 13:56:56 +0000
commit0d29cfb701ad2e2309c485f6aa114179c136f670 (patch)
treea7cc35772036a6a8d9c965e536a9c8c7009b16ab /sys-fs
parentFix compile problem with USE=qt3 when Qt4 is installed (#114872). Compilation... (diff)
downloadhistorical-0d29cfb701ad2e2309c485f6aa114179c136f670.tar.gz
historical-0d29cfb701ad2e2309c485f6aa114179c136f670.tar.bz2
historical-0d29cfb701ad2e2309c485f6aa114179c136f670.zip
Add 2.6.18 compatibility patch, tested by Phillip Berndt and Simonas Leleiva in bug #148381
Package-Manager: portage-2.1.2_pre2-r9
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/submount/ChangeLog7
-rw-r--r--sys-fs/submount/Manifest30
-rw-r--r--sys-fs/submount/files/submount-0.9-2.6.18.patch154
-rw-r--r--sys-fs/submount/submount-0.9-r2.ebuild5
4 files changed, 176 insertions, 20 deletions
diff --git a/sys-fs/submount/ChangeLog b/sys-fs/submount/ChangeLog
index 51240d11b4bf..aa5453c69438 100644
--- a/sys-fs/submount/ChangeLog
+++ b/sys-fs/submount/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-fs/submount
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/submount/ChangeLog,v 1.20 2006/08/18 10:12:46 phreak Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/submount/ChangeLog,v 1.21 2006/10/14 13:56:56 dsd Exp $
+
+ 14 Oct 2006; Daniel Drake <dsd@gentoo.org>
+ +files/submount-0.9-2.6.18.patch, submount-0.9-r2.ebuild:
+ Add 2.6.18 compatibility patch, tested by Phillip Berndt and Simonas Leleiva
+ in bug #148381
18 Aug 2006; Christian Heim <phreak@gentoo.org> metadata.xml:
Reassigning the package to kernel@g.o, the x86-kernel bugzilla-alias is
diff --git a/sys-fs/submount/Manifest b/sys-fs/submount/Manifest
index 90fea71e2f93..f21fb7797167 100644
--- a/sys-fs/submount/Manifest
+++ b/sys-fs/submount/Manifest
@@ -1,20 +1,21 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
+AUX submount-0.9-2.6.18.patch 4620 RMD160 753e80144566c59a475dfef278d4e2fc5d463d30 SHA1 8f5f2489920be8cfd1f9ea54b869b7998f56b3e7 SHA256 6690f7722a2f26051240b07a13ee0c0771f4228649005e4a943c12932ae32458
+MD5 5a15107b0be83f81f9c94b1760caac57 files/submount-0.9-2.6.18.patch 4620
+RMD160 753e80144566c59a475dfef278d4e2fc5d463d30 files/submount-0.9-2.6.18.patch 4620
+SHA256 6690f7722a2f26051240b07a13ee0c0771f4228649005e4a943c12932ae32458 files/submount-0.9-2.6.18.patch 4620
AUX submount-0.9-sem2mutex.patch 1164 RMD160 4af8161dc6eb5317e1f14845e506c9976e3e65bc SHA1 86a83040cf00b57a3976562ee159b4adf51b3c25 SHA256 ef4a24d39c95e0e6d474ebc9bce9741a9b3edc446e5d3ea9ba2874865955fd78
MD5 ef98bc688f9dee82aae9db84f21542bd files/submount-0.9-sem2mutex.patch 1164
RMD160 4af8161dc6eb5317e1f14845e506c9976e3e65bc files/submount-0.9-sem2mutex.patch 1164
SHA256 ef4a24d39c95e0e6d474ebc9bce9741a9b3edc446e5d3ea9ba2874865955fd78 files/submount-0.9-sem2mutex.patch 1164
DIST submount-0.9.tar.gz 75476 RMD160 5ab49645abc51ba8bd252ab63bfb2ee88205111b SHA1 f182f68f63323b233122ae24421446357b28e19a SHA256 914452d95b7766633ca12e12dd4cb0a9a98d71e7c08ed20c3077da363cef2fd9
DIST submount-2.4-0.9.tar.gz 88203 RMD160 a22bbf652836a68f74a02c539f942ed601e28870 SHA1 4b342d690ba41141dd10613994686ba607b80b20 SHA256 37888b2304991e8ff710de316740ff3f60e3b0794d988578bfebe74ef734b83b
-EBUILD submount-0.9-r2.ebuild 1503 RMD160 05c5ae6da3f9127f7b61878b2e2d08c879e41e64 SHA1 863670df33a5cf61fcf3c51a3f8f884464deb920 SHA256 8d3524f92f89c28c52b2164a75f80d226ad6e9d3e42f88433e25c3050f439466
-MD5 776977f8dba405aa0b4fcf8b1daa67bb submount-0.9-r2.ebuild 1503
-RMD160 05c5ae6da3f9127f7b61878b2e2d08c879e41e64 submount-0.9-r2.ebuild 1503
-SHA256 8d3524f92f89c28c52b2164a75f80d226ad6e9d3e42f88433e25c3050f439466 submount-0.9-r2.ebuild 1503
-MISC ChangeLog 2862 RMD160 9d85ccfa06833717e130d78e57fe7085cf4211de SHA1 1ccdaba2b865fd8ca9eef508dea7ff7a5f4fe51f SHA256 01e13b1d03aeec2ef62e5e0ef9171678735a851485733e450024931b6d252dae
-MD5 a7d4e7a966dfad430a46a1143598ece4 ChangeLog 2862
-RMD160 9d85ccfa06833717e130d78e57fe7085cf4211de ChangeLog 2862
-SHA256 01e13b1d03aeec2ef62e5e0ef9171678735a851485733e450024931b6d252dae ChangeLog 2862
+EBUILD submount-0.9-r2.ebuild 1580 RMD160 cb6de91a95549cb72361d3f6d2a5e79ca52b23e1 SHA1 1a8ba7682190406412e9268b1de300ee4ac7d576 SHA256 1b8a0c5452defb13eb14af26248016fea6d4fcc69595206fbedde42b48f590c0
+MD5 f7989b6ad6bcf5c92a78b080b2b1af63 submount-0.9-r2.ebuild 1580
+RMD160 cb6de91a95549cb72361d3f6d2a5e79ca52b23e1 submount-0.9-r2.ebuild 1580
+SHA256 1b8a0c5452defb13eb14af26248016fea6d4fcc69595206fbedde42b48f590c0 submount-0.9-r2.ebuild 1580
+MISC ChangeLog 3061 RMD160 ad60ed57454c129d42081fe21bc4a6172a6c06b1 SHA1 f1f59fe7d91e6c0373bd0f230dd16153fa7ee2fa SHA256 b10c478a5c251d34872d394d129069b869450dbf9e0f71869c1670ef5151751a
+MD5 6e0fc1b0db3c9eb127122c36dd11bfcc ChangeLog 3061
+RMD160 ad60ed57454c129d42081fe21bc4a6172a6c06b1 ChangeLog 3061
+SHA256 b10c478a5c251d34872d394d129069b869450dbf9e0f71869c1670ef5151751a ChangeLog 3061
MISC metadata.xml 317 RMD160 6d5afa7fd5c7d83928e3176b9fa3128e72a4ecaa SHA1 3ce092630ed3273552ea893818dd240292968706 SHA256 ba4d28906073d50a42bc48d26c7c0c3d875ac485e8f41d7f8d87b3ba7bbfdd34
MD5 90821bcb65c5089c9970076ae5e3cc9c metadata.xml 317
RMD160 6d5afa7fd5c7d83928e3176b9fa3128e72a4ecaa metadata.xml 317
@@ -22,10 +23,3 @@ SHA256 ba4d28906073d50a42bc48d26c7c0c3d875ac485e8f41d7f8d87b3ba7bbfdd34 metadata
MD5 159b619c79c36c4e0f6cb94573440f8b files/digest-submount-0.9-r2 482
RMD160 2fec30ca24cb7733c219c4e7999e5364738850af files/digest-submount-0.9-r2 482
SHA256 377c4bf13f3ca08eccdeb7f398c32b49bbf67238749c4f2ed762ced2ed1848ae files/digest-submount-0.9-r2 482
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.5 (GNU/Linux)
-
-iD8DBQFE5ZKmyuNVb5qfaOYRAnDkAJ96IcPYPq0UZokDJoasx8nIElWuuACgu3ba
-AVYux+0ySRmN8aq5bvbbXGQ=
-=EKHu
------END PGP SIGNATURE-----
diff --git a/sys-fs/submount/files/submount-0.9-2.6.18.patch b/sys-fs/submount/files/submount-0.9-2.6.18.patch
new file mode 100644
index 000000000000..77ceb7a91b3d
--- /dev/null
+++ b/sys-fs/submount/files/submount-0.9-2.6.18.patch
@@ -0,0 +1,154 @@
+From: Daniel Drake <dsd@gentoo.org>
+
+Index: submount-0.9/subfs-0.9/subfs.c
+===================================================================
+--- submount-0.9.orig/subfs-0.9/subfs.c
++++ submount-0.9/subfs-0.9/subfs.c
+@@ -26,6 +26,7 @@
+ #include <linux/signal.h>
+ #include <linux/sched.h>
+ #include <linux/version.h>
++#include <linux/rcupdate.h>
+
+ #include "subfs.h"
+
+@@ -95,11 +96,11 @@ static void subfs_send_signal(void)
+ struct task_struct *task = current;
+ int signal = SIGCONT;
+
+- read_lock(&tasklist_lock);
++ rcu_read_lock();
+ spin_lock_irq(&task->sighand->siglock);
+ sigaddset(&task->pending.signal, signal);
+ spin_unlock_irq(&task->sighand->siglock);
+- read_unlock(&tasklist_lock);
++ rcu_read_unlock();
+ set_tsk_thread_flag(task, TIF_SIGPENDING);
+ return;
+ }
+@@ -279,9 +280,15 @@ static int subfs_open(struct inode *inod
+
+ /* Implements the statfs method so df and such will work on the mountpoint.
+ */
++#ifdef NEW_VFS_ROOT_DENTRY_API
++static int subfs_statfs(struct dentry *dentry, struct kstatfs *buf)
++{
++ struct subfs_mount *sfs_mnt = dentry->d_sb->s_fs_info;
++#else
+ static int subfs_statfs(struct super_block *sb, struct kstatfs *buf)
+ {
+ struct subfs_mount *sfs_mnt = sb->s_fs_info;
++#endif
+ struct vfsmount *child;
+ if (down_interruptible(&sfs_mnt->sem))
+ return -ERESTARTSYS;
+@@ -405,33 +412,61 @@ static int proc_opts(struct subfs_mount
+ * subfs_mount structure is pointed to by the s_fs_info field of the
+ * superblock structure.
+ */
++#ifdef NEW_VFS_ROOT_DENTRY_API
++static int subfs_get_super(struct file_system_type *fst,
++ int flags, const char *devname, void *data,
++ struct vfsmount *mnt)
++#else
+ static struct super_block *subfs_get_super(struct file_system_type *fst,
+ int flags, const char *devname, void *data)
++#endif
+ {
+ char *device;
+ struct subfs_mount *newmount;
+ int ret;
+
+- if (!(newmount = kmalloc(sizeof(struct subfs_mount), GFP_KERNEL)))
+- return ERR_PTR(-ENOMEM);
++ if (!(newmount = kmalloc(sizeof(struct subfs_mount), GFP_KERNEL))) {
++ ret = -ENOMEM;
++ goto err;
++ }
+ newmount->req_fs = NULL;
+ newmount->sb = NULL;
+ newmount->mount = NULL;
+ newmount->procuid = 0;
+ sema_init(&newmount->sem, 1);
+- if (!(device = kmalloc((strlen(devname) + 1), GFP_KERNEL)))
+- return ERR_PTR(-ENOMEM);
++ if (!(device = kmalloc((strlen(devname) + 1), GFP_KERNEL))) {
++ ret = -ENOMEM;
++ goto err;
++ }
+ strcpy(device, devname);
+ newmount->device = device;
+ if (!(newmount->helper_prog =
+- kmalloc(sizeof(SUBMOUNTD_PATH), GFP_KERNEL)))
+- return ERR_PTR(-ENOMEM);
++ kmalloc(sizeof(SUBMOUNTD_PATH), GFP_KERNEL))) {
++ ret = -ENOMEM;
++ goto err;
++ }
+ strcpy(newmount->helper_prog, SUBMOUNTD_PATH);
+ if ((ret = proc_opts(newmount, data)))
+- return ERR_PTR(ret);
++ goto err;
++#ifdef NEW_VFS_ROOT_DENTRY_API
++ ret = get_sb_nodev(fst, flags, data, subfs_fill_super, mnt);
++ if (ret)
++ goto err;
++ newmount->sb = mnt->mnt_sb;
++ newmount->sb->s_fs_info = newmount;
++ return ret;
++#else
+ newmount->sb = get_sb_nodev(fst, flags, data, subfs_fill_super);
+ newmount->sb->s_fs_info = newmount;
+ return newmount->sb;
++#endif
++
++err:
++#ifdef NEW_VFS_ROOT_DENTRY_API
++ return ret;
++#else
++ return ERR_PTR(ret);
++#endif
+ }
+
+
+Index: submount-0.9/subfs-0.9/subfs.h
+===================================================================
+--- submount-0.9.orig/subfs-0.9/subfs.h
++++ submount-0.9/subfs-0.9/subfs.h
+@@ -19,6 +19,10 @@
+
+ #define ROOT_MODE 0777
+
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17)
++#define NEW_VFS_ROOT_DENTRY_API
++#endif
++
+ struct subfs_mount {
+ char *device;
+ char *options;
+@@ -33,8 +37,17 @@ struct subfs_mount {
+
+
+ static void subfs_kill_super(struct super_block *sb);
++
++#ifdef NEW_VFS_ROOT_DENTRY_API
++static int subfs_get_super(struct file_system_type *fst,
++ int flags, const char *devname, void *data, struct vfsmount *mnt);
++static int subfs_statfs(struct dentry *dentry, struct kstatfs *buf);
++#else
+ static struct super_block *subfs_get_super(struct file_system_type *fst,
+ int flags, const char *devname, void *data);
++static int subfs_statfs(struct super_block *sb, struct kstatfs *buf);
++#endif
++
+ static struct vfsmount *get_subfs_vfsmount(struct super_block *sb);
+ static int subfs_fill_super(struct super_block *sb, void *data,
+ int silent);
+@@ -47,7 +60,6 @@ static int mount_real_fs(struct subfs_mo
+ static void subfs_send_signal(void);
+ static void subfs_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt,
+ struct dentry *dentry);
+-static int subfs_statfs(struct super_block *sb, struct kstatfs *buf);
+
+
+ static struct file_system_type subfs_type = {
diff --git a/sys-fs/submount/submount-0.9-r2.ebuild b/sys-fs/submount/submount-0.9-r2.ebuild
index 8d7a6f3824bd..4fc9b5530cf6 100644
--- a/sys-fs/submount/submount-0.9-r2.ebuild
+++ b/sys-fs/submount/submount-0.9-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/submount/submount-0.9-r2.ebuild,v 1.8 2006/03/25 14:07:54 dsd Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/submount/submount-0.9-r2.ebuild,v 1.9 2006/10/14 13:56:56 dsd Exp $
inherit linux-mod eutils
@@ -40,6 +40,9 @@ src_unpack() {
# Fix compile on 2.6.16, bug #119538
epatch ${FILESDIR}/${P}-sem2mutex.patch
+
+ # Fix compile on 2.6.18, bug #148381
+ epatch ${FILESDIR}/${P}-2.6.18.patch
}
src_compile() {