diff options
author | Saleem Abdulrasool <compnerd@gentoo.org> | 2006-10-16 02:31:03 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@gentoo.org> | 2006-10-16 02:31:03 +0000 |
commit | 9b80503f8035d363f057b17408d049a622ee88eb (patch) | |
tree | b846a6a9327585d42054ad932d6582dfd1132049 /net-fs | |
parent | Bug 151203, pointing to the virtual for text-balanced. Thanks cfuga (diff) | |
download | gentoo-2-9b80503f8035d363f057b17408d049a622ee88eb.tar.gz gentoo-2-9b80503f8035d363f057b17408d049a622ee88eb.tar.bz2 gentoo-2-9b80503f8035d363f057b17408d049a622ee88eb.zip |
Add patch for 2.6.17 compilation (bug #149715)
(Portage version: 2.1.2_pre3-r1)
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/shfs/ChangeLog | 7 | ||||
-rw-r--r-- | net-fs/shfs/files/0.35/shfs-0.35-2.6.18-dentry.patch | 144 |
2 files changed, 150 insertions, 1 deletions
diff --git a/net-fs/shfs/ChangeLog b/net-fs/shfs/ChangeLog index 0381f99876a4..2e383b71292a 100644 --- a/net-fs/shfs/ChangeLog +++ b/net-fs/shfs/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-fs/shfs # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/shfs/ChangeLog,v 1.34 2006/07/12 20:12:17 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/shfs/ChangeLog,v 1.35 2006/10/16 02:31:03 compnerd Exp $ + + 16 Oct 2006; <compnerd@gentoo.org> + +files/0.35/shfs-0.35-2.6.18-dentry.patch: + Add a patch for compiling with kernel >=2.6.17 from Daniel Drake <dsd (at) + gentoo (dot) org> 12 Jul 2006; Aron Griffis <agriffis@gentoo.org> shfs-0.35-r3.ebuild: Mark 0.35-r3 stable on ia64. #133613 diff --git a/net-fs/shfs/files/0.35/shfs-0.35-2.6.18-dentry.patch b/net-fs/shfs/files/0.35/shfs-0.35-2.6.18-dentry.patch new file mode 100644 index 000000000000..972b0ef0016f --- /dev/null +++ b/net-fs/shfs/files/0.35/shfs-0.35-2.6.18-dentry.patch @@ -0,0 +1,144 @@ +Index: shfs-0.35/shfs/Linux-2.6/inode.c +=================================================================== +--- shfs-0.35.orig/shfs/Linux-2.6/inode.c ++++ shfs-0.35/shfs/Linux-2.6/inode.c +@@ -341,12 +341,21 @@ out: + return -EINVAL; + } + ++#ifdef NEW_VFS_DENTRY_API ++static int ++shfs_get_sb(struct file_system_type *fs_type, ++ int flags, const char *dev_name, void *data, struct vfsmount *mnt) ++{ ++ return get_sb_nodev(fs_type, flags, data, shfs_read_super, mnt); ++} ++#else + static struct super_block * + shfs_get_sb(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) + { + return get_sb_nodev(fs_type, flags, data, shfs_read_super); + } ++#endif + + static struct file_system_type sh_fs_type = { + .owner = THIS_MODULE, +Index: shfs-0.35/shfs/Linux-2.6/file.c +=================================================================== +--- shfs-0.35.orig/shfs/Linux-2.6/file.c ++++ shfs-0.35/shfs/Linux-2.6/file.c +@@ -199,7 +199,7 @@ shfs_file_open(struct inode *inode, stru + } + + static int +-shfs_file_flush(struct file *f) ++do_file_flush(struct file *f) + { + struct dentry *dentry = f->f_dentry; + struct shfs_sb_info *info = info_from_dentry(dentry); +@@ -222,6 +222,16 @@ shfs_file_flush(struct file *f) + } + + static int ++#ifdef FLUSH_HAS_LOCK_OWNER ++shfs_file_flush(struct file *f, fl_owner_t id) ++#else ++shfs_file_flush(struct file *f) ++#endif ++{ ++ return do_file_flush(f); ++} ++ ++static int + shfs_file_release(struct inode *inode, struct file *f) + { + struct dentry *dentry = f->f_dentry; +@@ -311,7 +321,7 @@ shfs_slow_write(struct file *f, const ch + DEBUG("\n"); + written = generic_file_write(f, buf, count, offset); + if (written > 0) { +- result = shfs_file_flush(f); ++ result = do_file_flush(f); + written = result < 0 ? result: written; + } + +Index: shfs-0.35/shfs/Linux-2.6/proc.c +=================================================================== +--- shfs-0.35.orig/shfs/Linux-2.6/proc.c ++++ shfs-0.35/shfs/Linux-2.6/proc.c +@@ -570,6 +570,16 @@ error: + return result; + } + ++#ifdef NEW_VFS_DENTRY_API ++int ++shfs_statfs(struct dentry *dentry, struct kstatfs *attr) ++{ ++ struct shfs_sb_info *info = info_from_sb(dentry->d_sb); ++ ++ DEBUG("\n"); ++ return info->fops.statfs(info, attr); ++} ++#else + int + shfs_statfs(struct super_block *sb, struct kstatfs *attr) + { +@@ -578,4 +588,5 @@ shfs_statfs(struct super_block *sb, stru + DEBUG("\n"); + return info->fops.statfs(info, attr); + } ++#endif + +Index: shfs-0.35/shfs/Linux-2.6/shfs_fs.h +=================================================================== +--- shfs-0.35.orig/shfs/Linux-2.6/shfs_fs.h ++++ shfs-0.35/shfs/Linux-2.6/shfs_fs.h +@@ -9,6 +9,12 @@ + + #include <linux/ioctl.h> + #include <linux/pagemap.h> ++#include <linux/version.h> ++ ++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17) ++#define NEW_VFS_DENTRY_API ++#define FLUSH_HAS_LOCK_OWNER ++#endif + + #define SHFS_MAX_AGE(info) (((info)->ttl * HZ) / 1000) + #define SOCKBUF_SIZE (SHFS_PATH_MAX * 10) +@@ -100,7 +106,12 @@ int reply(char *s); + void set_garbage(struct shfs_sb_info *info, int write, int count); + int get_name(struct dentry *d, char *name); + int shfs_notify_change(struct dentry *dentry, struct iattr *attr); ++ ++#ifdef NEW_VFS_DENTRY_API ++int shfs_statfs(struct dentry *dentry, struct kstatfs *attr); ++#else + int shfs_statfs(struct super_block *sb, struct kstatfs *attr); ++#endif + + /* shfs/inode.c */ + void shfs_set_inode_attr(struct inode *inode, struct shfs_fattr *fattr); +Index: shfs-0.35/shfs/Linux-2.6/symlink.c +=================================================================== +--- shfs-0.35.orig/shfs/Linux-2.6/symlink.c ++++ shfs-0.35/shfs/Linux-2.6/symlink.c +@@ -41,7 +41,7 @@ error: + return result; + } + +-static int ++static void * + shfs_follow_link(struct dentry *dentry, struct nameidata *nd) + { + struct shfs_sb_info *info = info_from_dentry(dentry); +@@ -61,7 +61,7 @@ shfs_follow_link(struct dentry *dentry, + DEBUG("%s\n", real_name); + result = vfs_follow_link(nd, real_name); + error: +- return result; ++ return NULL; + } + + struct inode_operations shfs_symlink_inode_operations = { |