wok-stable rev 8761
Add aufs patches into linux stuff to be able to recook the package using same stuff & to avoid linux counted as commited after each clean
author | Antoine Bodin <gokhlayeh@slitaz.org> |
---|---|
date | Mon Feb 21 04:39:34 2011 +0100 (2011-02-21) |
parents | 6c5cc6382d3d |
children | 9caf4331f934 73f88b3f05a7 |
files | linux/receipt linux/stuff/aufs2-base.patch linux/stuff/aufs2-kbuild.patch linux/stuff/aufs2-standalone.patch |
line diff
1.1 --- a/linux/receipt Mon Feb 21 04:34:17 2011 +0100 1.2 +++ b/linux/receipt Mon Feb 21 04:39:34 2011 +0100 1.3 @@ -166,12 +166,3 @@ 1.4 EOT 1.5 fi 1.6 } 1.7 - 1.8 -clean_wok() 1.9 -{ 1.10 - #rm -rf aufs2 1.11 - rm stuff/aufs2-base* 1.12 - rm stuff/aufs2-standalone* 1.13 - rm stuff/aufs2-kbuild* 1.14 - rm -rf stuff/tmp 1.15 -}
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/linux/stuff/aufs2-base.patch Mon Feb 21 04:39:34 2011 +0100 2.3 @@ -0,0 +1,78 @@ 2.4 +aufs2.1 base patch for linux-2.6.37 2.5 + 2.6 +diff --git a/fs/namei.c b/fs/namei.c 2.7 +index 4ff7ca5..a8c583f 100644 2.8 +--- a/fs/namei.c 2.9 ++++ b/fs/namei.c 2.10 +@@ -1161,12 +1161,12 @@ out: 2.11 + * needs parent already locked. Doesn't follow mounts. 2.12 + * SMP-safe. 2.13 + */ 2.14 +-static struct dentry *lookup_hash(struct nameidata *nd) 2.15 ++struct dentry *lookup_hash(struct nameidata *nd) 2.16 + { 2.17 + return __lookup_hash(&nd->last, nd->path.dentry, nd); 2.18 + } 2.19 + 2.20 +-static int __lookup_one_len(const char *name, struct qstr *this, 2.21 ++int __lookup_one_len(const char *name, struct qstr *this, 2.22 + struct dentry *base, int len) 2.23 + { 2.24 + unsigned long hash; 2.25 +diff --git a/fs/splice.c b/fs/splice.c 2.26 +index ce2f025..ff0ae69 100644 2.27 +--- a/fs/splice.c 2.28 ++++ b/fs/splice.c 2.29 +@@ -1092,8 +1092,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); 2.30 + /* 2.31 + * Attempt to initiate a splice from pipe to file. 2.32 + */ 2.33 +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 2.34 +- loff_t *ppos, size_t len, unsigned int flags) 2.35 ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 2.36 ++ loff_t *ppos, size_t len, unsigned int flags) 2.37 + { 2.38 + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, 2.39 + loff_t *, size_t, unsigned int); 2.40 +@@ -1120,9 +1120,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 2.41 + /* 2.42 + * Attempt to initiate a splice from a file to a pipe. 2.43 + */ 2.44 +-static long do_splice_to(struct file *in, loff_t *ppos, 2.45 +- struct pipe_inode_info *pipe, size_t len, 2.46 +- unsigned int flags) 2.47 ++long do_splice_to(struct file *in, loff_t *ppos, 2.48 ++ struct pipe_inode_info *pipe, size_t len, 2.49 ++ unsigned int flags) 2.50 + { 2.51 + ssize_t (*splice_read)(struct file *, loff_t *, 2.52 + struct pipe_inode_info *, size_t, unsigned int); 2.53 +diff --git a/include/linux/namei.h b/include/linux/namei.h 2.54 +index 05b441d..91bc74e 100644 2.55 +--- a/include/linux/namei.h 2.56 ++++ b/include/linux/namei.h 2.57 +@@ -73,6 +73,9 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *, 2.58 + extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, 2.59 + int (*open)(struct inode *, struct file *)); 2.60 + 2.61 ++extern struct dentry *lookup_hash(struct nameidata *nd); 2.62 ++extern int __lookup_one_len(const char *name, struct qstr *this, 2.63 ++ struct dentry *base, int len); 2.64 + extern struct dentry *lookup_one_len(const char *, struct dentry *, int); 2.65 + 2.66 + extern int follow_down(struct path *); 2.67 +diff --git a/include/linux/splice.h b/include/linux/splice.h 2.68 +index 997c3b4..be9a153 100644 2.69 +--- a/include/linux/splice.h 2.70 ++++ b/include/linux/splice.h 2.71 +@@ -89,4 +89,10 @@ extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *); 2.72 + extern void splice_shrink_spd(struct pipe_inode_info *, 2.73 + struct splice_pipe_desc *); 2.74 + 2.75 ++extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 2.76 ++ loff_t *ppos, size_t len, unsigned int flags); 2.77 ++extern long do_splice_to(struct file *in, loff_t *ppos, 2.78 ++ struct pipe_inode_info *pipe, size_t len, 2.79 ++ unsigned int flags); 2.80 ++ 2.81 + #endif
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/linux/stuff/aufs2-kbuild.patch Mon Feb 21 04:39:34 2011 +0100 3.3 @@ -0,0 +1,35 @@ 3.4 +aufs2.1 kbuild patch for linux-2.6.37 3.5 + 3.6 +diff --git a/fs/Kconfig b/fs/Kconfig 3.7 +index 771f457..bb1a52f 100644 3.8 +--- a/fs/Kconfig 3.9 ++++ b/fs/Kconfig 3.10 +@@ -191,6 +191,7 @@ source "fs/romfs/Kconfig" 3.11 + source "fs/sysv/Kconfig" 3.12 + source "fs/ufs/Kconfig" 3.13 + source "fs/exofs/Kconfig" 3.14 ++source "fs/aufs/Kconfig" 3.15 + 3.16 + endif # MISC_FILESYSTEMS 3.17 + 3.18 +diff --git a/fs/Makefile b/fs/Makefile 3.19 +index a7f7cef..95dd4d3 100644 3.20 +--- a/fs/Makefile 3.21 ++++ b/fs/Makefile 3.22 +@@ -121,3 +121,4 @@ obj-$(CONFIG_BTRFS_FS) += btrfs/ 3.23 + obj-$(CONFIG_GFS2_FS) += gfs2/ 3.24 + obj-$(CONFIG_EXOFS_FS) += exofs/ 3.25 + obj-$(CONFIG_CEPH_FS) += ceph/ 3.26 ++obj-$(CONFIG_AUFS_FS) += aufs/ 3.27 +diff --git a/include/linux/Kbuild b/include/linux/Kbuild 3.28 +index 97319a8..7ebb4b4 100644 3.29 +--- a/include/linux/Kbuild 3.30 ++++ b/include/linux/Kbuild 3.31 +@@ -60,6 +60,7 @@ header-y += atmppp.h 3.32 + header-y += atmsap.h 3.33 + header-y += atmsvc.h 3.34 + header-y += audit.h 3.35 ++header-y += aufs_type.h 3.36 + header-y += auto_fs.h 3.37 + header-y += auto_fs4.h 3.38 + header-y += auxvec.h
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/linux/stuff/aufs2-standalone.patch Mon Feb 21 04:39:34 2011 +0100 4.3 @@ -0,0 +1,289 @@ 4.4 +aufs2.1 standalone patch for linux-2.6.37 4.5 + 4.6 +diff --git a/fs/file_table.c b/fs/file_table.c 4.7 +index c3dee38..f529e4d 100644 4.8 +--- a/fs/file_table.c 4.9 ++++ b/fs/file_table.c 4.10 +@@ -393,6 +393,8 @@ void file_sb_list_del(struct file *file) 4.11 + } 4.12 + } 4.13 + 4.14 ++EXPORT_SYMBOL(file_sb_list_del); 4.15 ++ 4.16 + #ifdef CONFIG_SMP 4.17 + 4.18 + /* 4.19 +diff --git a/fs/inode.c b/fs/inode.c 4.20 +index ae2727a..2c8071a 100644 4.21 +--- a/fs/inode.c 4.22 ++++ b/fs/inode.c 4.23 +@@ -82,6 +82,7 @@ static struct hlist_head *inode_hashtable __read_mostly; 4.24 + * the i_state of an inode while it is in use.. 4.25 + */ 4.26 + DEFINE_SPINLOCK(inode_lock); 4.27 ++EXPORT_SYMBOL(inode_lock); 4.28 + 4.29 + /* 4.30 + * iprune_sem provides exclusion between the kswapd or try_to_free_pages 4.31 +diff --git a/fs/namei.c b/fs/namei.c 4.32 +index a8c583f..b020c45 100644 4.33 +--- a/fs/namei.c 4.34 ++++ b/fs/namei.c 4.35 +@@ -347,6 +347,7 @@ int deny_write_access(struct file * file) 4.36 + 4.37 + return 0; 4.38 + } 4.39 ++EXPORT_SYMBOL(deny_write_access); 4.40 + 4.41 + /** 4.42 + * path_get - get a reference to a path 4.43 +@@ -1165,6 +1166,7 @@ struct dentry *lookup_hash(struct nameidata *nd) 4.44 + { 4.45 + return __lookup_hash(&nd->last, nd->path.dentry, nd); 4.46 + } 4.47 ++EXPORT_SYMBOL(lookup_hash); 4.48 + 4.49 + int __lookup_one_len(const char *name, struct qstr *this, 4.50 + struct dentry *base, int len) 4.51 +@@ -1187,6 +1189,7 @@ int __lookup_one_len(const char *name, struct qstr *this, 4.52 + this->hash = end_name_hash(hash); 4.53 + return 0; 4.54 + } 4.55 ++EXPORT_SYMBOL(__lookup_one_len); 4.56 + 4.57 + /** 4.58 + * lookup_one_len - filesystem helper to lookup single pathname component 4.59 +diff --git a/fs/namespace.c b/fs/namespace.c 4.60 +index 3dbfc07..3998762 100644 4.61 +--- a/fs/namespace.c 4.62 ++++ b/fs/namespace.c 4.63 +@@ -1321,6 +1321,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, 4.64 + } 4.65 + return 0; 4.66 + } 4.67 ++EXPORT_SYMBOL(iterate_mounts); 4.68 + 4.69 + static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end) 4.70 + { 4.71 +diff --git a/fs/notify/group.c b/fs/notify/group.c 4.72 +index d309f38..f0e9568 100644 4.73 +--- a/fs/notify/group.c 4.74 ++++ b/fs/notify/group.c 4.75 +@@ -22,6 +22,7 @@ 4.76 + #include <linux/srcu.h> 4.77 + #include <linux/rculist.h> 4.78 + #include <linux/wait.h> 4.79 ++#include <linux/module.h> 4.80 + 4.81 + #include <linux/fsnotify_backend.h> 4.82 + #include "fsnotify.h" 4.83 +@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group) 4.84 + if (atomic_dec_and_test(&group->refcnt)) 4.85 + fsnotify_destroy_group(group); 4.86 + } 4.87 ++EXPORT_SYMBOL(fsnotify_put_group); 4.88 + 4.89 + /* 4.90 + * Create a new fsnotify_group and hold a reference for the group returned. 4.91 +@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) 4.92 + 4.93 + return group; 4.94 + } 4.95 ++EXPORT_SYMBOL(fsnotify_alloc_group); 4.96 +diff --git a/fs/notify/mark.c b/fs/notify/mark.c 4.97 +index 325185e..adede09 100644 4.98 +--- a/fs/notify/mark.c 4.99 ++++ b/fs/notify/mark.c 4.100 +@@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) 4.101 + if (atomic_dec_and_test(&mark->refcnt)) 4.102 + mark->free_mark(mark); 4.103 + } 4.104 ++EXPORT_SYMBOL(fsnotify_put_mark); 4.105 + 4.106 + /* 4.107 + * Any time a mark is getting freed we end up here. 4.108 +@@ -190,6 +191,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark) 4.109 + if (unlikely(atomic_dec_and_test(&group->num_marks))) 4.110 + fsnotify_final_destroy_group(group); 4.111 + } 4.112 ++EXPORT_SYMBOL(fsnotify_destroy_mark); 4.113 + 4.114 + void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask) 4.115 + { 4.116 +@@ -277,6 +279,7 @@ err: 4.117 + 4.118 + return ret; 4.119 + } 4.120 ++EXPORT_SYMBOL(fsnotify_add_mark); 4.121 + 4.122 + /* 4.123 + * clear any marks in a group in which mark->flags & flags is true 4.124 +@@ -332,6 +335,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, 4.125 + atomic_set(&mark->refcnt, 1); 4.126 + mark->free_mark = free_mark; 4.127 + } 4.128 ++EXPORT_SYMBOL(fsnotify_init_mark); 4.129 + 4.130 + static int fsnotify_mark_destroy(void *ignored) 4.131 + { 4.132 +diff --git a/fs/open.c b/fs/open.c 4.133 +index 4197b9e..912817a 100644 4.134 +--- a/fs/open.c 4.135 ++++ b/fs/open.c 4.136 +@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, 4.137 + mutex_unlock(&dentry->d_inode->i_mutex); 4.138 + return ret; 4.139 + } 4.140 ++EXPORT_SYMBOL(do_truncate); 4.141 + 4.142 + static long do_sys_truncate(const char __user *pathname, loff_t length) 4.143 + { 4.144 +diff --git a/fs/splice.c b/fs/splice.c 4.145 +index ff0ae69..1c9e9b0 100644 4.146 +--- a/fs/splice.c 4.147 ++++ b/fs/splice.c 4.148 +@@ -1116,6 +1116,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 4.149 + 4.150 + return splice_write(pipe, out, ppos, len, flags); 4.151 + } 4.152 ++EXPORT_SYMBOL(do_splice_from); 4.153 + 4.154 + /* 4.155 + * Attempt to initiate a splice from a file to a pipe. 4.156 +@@ -1142,6 +1143,7 @@ long do_splice_to(struct file *in, loff_t *ppos, 4.157 + 4.158 + return splice_read(in, ppos, pipe, len, flags); 4.159 + } 4.160 ++EXPORT_SYMBOL(do_splice_to); 4.161 + 4.162 + /** 4.163 + * splice_direct_to_actor - splices data directly between two non-pipes 4.164 +diff --git a/security/commoncap.c b/security/commoncap.c 4.165 +index 64c2ed9..e58b5d8 100644 4.166 +--- a/security/commoncap.c 4.167 ++++ b/security/commoncap.c 4.168 +@@ -929,3 +929,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, 4.169 + } 4.170 + return ret; 4.171 + } 4.172 ++EXPORT_SYMBOL(cap_file_mmap); 4.173 +diff --git a/security/device_cgroup.c b/security/device_cgroup.c 4.174 +index 8d9c48f..29108aa 100644 4.175 +--- a/security/device_cgroup.c 4.176 ++++ b/security/device_cgroup.c 4.177 +@@ -515,6 +515,7 @@ found: 4.178 + 4.179 + return -EPERM; 4.180 + } 4.181 ++EXPORT_SYMBOL(devcgroup_inode_permission); 4.182 + 4.183 + int devcgroup_inode_mknod(int mode, dev_t dev) 4.184 + { 4.185 +diff --git a/security/security.c b/security/security.c 4.186 +index 1b798d3..3b7d2ca 100644 4.187 +--- a/security/security.c 4.188 ++++ b/security/security.c 4.189 +@@ -360,6 +360,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode) 4.190 + return 0; 4.191 + return security_ops->path_mkdir(dir, dentry, mode); 4.192 + } 4.193 ++EXPORT_SYMBOL(security_path_mkdir); 4.194 + 4.195 + int security_path_rmdir(struct path *dir, struct dentry *dentry) 4.196 + { 4.197 +@@ -367,6 +368,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) 4.198 + return 0; 4.199 + return security_ops->path_rmdir(dir, dentry); 4.200 + } 4.201 ++EXPORT_SYMBOL(security_path_rmdir); 4.202 + 4.203 + int security_path_unlink(struct path *dir, struct dentry *dentry) 4.204 + { 4.205 +@@ -374,6 +376,7 @@ int security_path_unlink(struct path *dir, struct dentry *dentry) 4.206 + return 0; 4.207 + return security_ops->path_unlink(dir, dentry); 4.208 + } 4.209 ++EXPORT_SYMBOL(security_path_unlink); 4.210 + 4.211 + int security_path_symlink(struct path *dir, struct dentry *dentry, 4.212 + const char *old_name) 4.213 +@@ -382,6 +385,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, 4.214 + return 0; 4.215 + return security_ops->path_symlink(dir, dentry, old_name); 4.216 + } 4.217 ++EXPORT_SYMBOL(security_path_symlink); 4.218 + 4.219 + int security_path_link(struct dentry *old_dentry, struct path *new_dir, 4.220 + struct dentry *new_dentry) 4.221 +@@ -390,6 +394,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, 4.222 + return 0; 4.223 + return security_ops->path_link(old_dentry, new_dir, new_dentry); 4.224 + } 4.225 ++EXPORT_SYMBOL(security_path_link); 4.226 + 4.227 + int security_path_rename(struct path *old_dir, struct dentry *old_dentry, 4.228 + struct path *new_dir, struct dentry *new_dentry) 4.229 +@@ -400,6 +405,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry, 4.230 + return security_ops->path_rename(old_dir, old_dentry, new_dir, 4.231 + new_dentry); 4.232 + } 4.233 ++EXPORT_SYMBOL(security_path_rename); 4.234 + 4.235 + int security_path_truncate(struct path *path) 4.236 + { 4.237 +@@ -407,6 +413,7 @@ int security_path_truncate(struct path *path) 4.238 + return 0; 4.239 + return security_ops->path_truncate(path); 4.240 + } 4.241 ++EXPORT_SYMBOL(security_path_truncate); 4.242 + 4.243 + int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, 4.244 + mode_t mode) 4.245 +@@ -415,6 +422,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, 4.246 + return 0; 4.247 + return security_ops->path_chmod(dentry, mnt, mode); 4.248 + } 4.249 ++EXPORT_SYMBOL(security_path_chmod); 4.250 + 4.251 + int security_path_chown(struct path *path, uid_t uid, gid_t gid) 4.252 + { 4.253 +@@ -422,6 +430,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) 4.254 + return 0; 4.255 + return security_ops->path_chown(path, uid, gid); 4.256 + } 4.257 ++EXPORT_SYMBOL(security_path_chown); 4.258 + 4.259 + int security_path_chroot(struct path *path) 4.260 + { 4.261 +@@ -498,6 +507,7 @@ int security_inode_readlink(struct dentry *dentry) 4.262 + return 0; 4.263 + return security_ops->inode_readlink(dentry); 4.264 + } 4.265 ++EXPORT_SYMBOL(security_inode_readlink); 4.266 + 4.267 + int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) 4.268 + { 4.269 +@@ -512,6 +522,7 @@ int security_inode_permission(struct inode *inode, int mask) 4.270 + return 0; 4.271 + return security_ops->inode_permission(inode, mask); 4.272 + } 4.273 ++EXPORT_SYMBOL(security_inode_permission); 4.274 + 4.275 + int security_inode_setattr(struct dentry *dentry, struct iattr *attr) 4.276 + { 4.277 +@@ -611,6 +622,7 @@ int security_file_permission(struct file *file, int mask) 4.278 + 4.279 + return fsnotify_perm(file, mask); 4.280 + } 4.281 ++EXPORT_SYMBOL(security_file_permission); 4.282 + 4.283 + int security_file_alloc(struct file *file) 4.284 + { 4.285 +@@ -638,6 +650,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot, 4.286 + return ret; 4.287 + return ima_file_mmap(file, prot); 4.288 + } 4.289 ++EXPORT_SYMBOL(security_file_mmap); 4.290 + 4.291 + int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, 4.292 + unsigned long prot)