wok diff linux/stuff/aufs2-standalone.patch @ rev 5578
Up: emacs, emacs-help, emacs-lisp-src (23.2)
author | Dominique Corbex <domcox@slitaz.org> |
---|---|
date | Sat May 15 20:40:38 2010 +0200 (2010-05-15) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/linux/stuff/aufs2-standalone.patch Sat May 15 20:40:38 2010 +0200 1.3 @@ -0,0 +1,272 @@ 1.4 +aufs2 standalone patch for linux-2.6.33 1.5 + 1.6 +diff --git a/fs/namei.c b/fs/namei.c 1.7 +index 1d12d37..7cb8e5d 100644 1.8 +--- a/fs/namei.c 1.9 ++++ b/fs/namei.c 1.10 +@@ -349,6 +349,7 @@ int deny_write_access(struct file * file) 1.11 + 1.12 + return 0; 1.13 + } 1.14 ++EXPORT_SYMBOL(deny_write_access); 1.15 + 1.16 + /** 1.17 + * path_get - get a reference to a path 1.18 +@@ -1216,6 +1217,7 @@ struct dentry *lookup_hash(struct nameidata *nd) 1.19 + return ERR_PTR(err); 1.20 + return __lookup_hash(&nd->last, nd->path.dentry, nd); 1.21 + } 1.22 ++EXPORT_SYMBOL(lookup_hash); 1.23 + 1.24 + int __lookup_one_len(const char *name, struct qstr *this, 1.25 + struct dentry *base, int len) 1.26 +@@ -1238,6 +1240,7 @@ int __lookup_one_len(const char *name, struct qstr *this, 1.27 + this->hash = end_name_hash(hash); 1.28 + return 0; 1.29 + } 1.30 ++EXPORT_SYMBOL(__lookup_one_len); 1.31 + 1.32 + /** 1.33 + * lookup_one_len - filesystem helper to lookup single pathname component 1.34 +diff --git a/fs/namespace.c b/fs/namespace.c 1.35 +index c768f73..0fd78c3 100644 1.36 +--- a/fs/namespace.c 1.37 ++++ b/fs/namespace.c 1.38 +@@ -39,6 +39,7 @@ 1.39 + 1.40 + /* spinlock for vfsmount related operations, inplace of dcache_lock */ 1.41 + __cacheline_aligned_in_smp DEFINE_SPINLOCK(vfsmount_lock); 1.42 ++EXPORT_SYMBOL(vfsmount_lock); 1.43 + 1.44 + static int event; 1.45 + static DEFINE_IDA(mnt_id_ida); 1.46 +diff --git a/fs/notify/group.c b/fs/notify/group.c 1.47 +index 0e16771..3fab10a 100644 1.48 +--- a/fs/notify/group.c 1.49 ++++ b/fs/notify/group.c 1.50 +@@ -22,6 +22,7 @@ 1.51 + #include <linux/srcu.h> 1.52 + #include <linux/rculist.h> 1.53 + #include <linux/wait.h> 1.54 ++#include <linux/module.h> 1.55 + 1.56 + #include <linux/fsnotify_backend.h> 1.57 + #include "fsnotify.h" 1.58 +@@ -169,6 +170,7 @@ void fsnotify_put_group(struct fsnotify_group *group) 1.59 + fsnotify_recalc_global_mask(); 1.60 + fsnotify_destroy_group(group); 1.61 + } 1.62 ++EXPORT_SYMBOL(fsnotify_put_group); 1.63 + 1.64 + /* 1.65 + * Simply run the fsnotify_groups list and find a group which matches 1.66 +@@ -252,3 +254,4 @@ struct fsnotify_group *fsnotify_obtain_group(unsigned int group_num, __u32 mask, 1.67 + 1.68 + return group; 1.69 + } 1.70 ++EXPORT_SYMBOL(fsnotify_obtain_group); 1.71 +diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c 1.72 +index 3165d85..4586162 100644 1.73 +--- a/fs/notify/inode_mark.c 1.74 ++++ b/fs/notify/inode_mark.c 1.75 +@@ -106,6 +106,7 @@ void fsnotify_put_mark(struct fsnotify_mark_entry *entry) 1.76 + if (atomic_dec_and_test(&entry->refcnt)) 1.77 + entry->free_mark(entry); 1.78 + } 1.79 ++EXPORT_SYMBOL(fsnotify_put_mark); 1.80 + 1.81 + /* 1.82 + * Recalculate the mask of events relevant to a given inode locked. 1.83 +@@ -216,6 +217,7 @@ void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry) 1.84 + if (unlikely(atomic_dec_and_test(&group->num_marks))) 1.85 + fsnotify_final_destroy_group(group); 1.86 + } 1.87 ++EXPORT_SYMBOL(fsnotify_destroy_mark_by_entry); 1.88 + 1.89 + /* 1.90 + * Given a group, destroy all of the marks associated with that group. 1.91 +@@ -282,6 +284,7 @@ struct fsnotify_mark_entry *fsnotify_find_mark_entry(struct fsnotify_group *grou 1.92 + } 1.93 + return NULL; 1.94 + } 1.95 ++EXPORT_SYMBOL(fsnotify_find_mark_entry); 1.96 + 1.97 + /* 1.98 + * Nothing fancy, just initialize lists and locks and counters. 1.99 +@@ -298,6 +301,7 @@ void fsnotify_init_mark(struct fsnotify_mark_entry *entry, 1.100 + entry->inode = NULL; 1.101 + entry->free_mark = free_mark; 1.102 + } 1.103 ++EXPORT_SYMBOL(fsnotify_init_mark); 1.104 + 1.105 + /* 1.106 + * Attach an initialized mark entry to a given group and inode. 1.107 +@@ -353,6 +357,7 @@ int fsnotify_add_mark(struct fsnotify_mark_entry *entry, 1.108 + 1.109 + return ret; 1.110 + } 1.111 ++EXPORT_SYMBOL(fsnotify_add_mark); 1.112 + 1.113 + /** 1.114 + * fsnotify_unmount_inodes - an sb is unmounting. handle any watched inodes. 1.115 +diff --git a/fs/open.c b/fs/open.c 1.116 +index 040cef7..453b782 100644 1.117 +--- a/fs/open.c 1.118 ++++ b/fs/open.c 1.119 +@@ -226,6 +226,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, 1.120 + mutex_unlock(&dentry->d_inode->i_mutex); 1.121 + return ret; 1.122 + } 1.123 ++EXPORT_SYMBOL(do_truncate); 1.124 + 1.125 + static long do_sys_truncate(const char __user *pathname, loff_t length) 1.126 + { 1.127 +diff --git a/fs/splice.c b/fs/splice.c 1.128 +index b13a9a2..3931ee0 100644 1.129 +--- a/fs/splice.c 1.130 ++++ b/fs/splice.c 1.131 +@@ -1077,6 +1077,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 1.132 + 1.133 + return splice_write(pipe, out, ppos, len, flags); 1.134 + } 1.135 ++EXPORT_SYMBOL(do_splice_from); 1.136 + 1.137 + /* 1.138 + * Attempt to initiate a splice from a file to a pipe. 1.139 +@@ -1103,6 +1104,7 @@ long do_splice_to(struct file *in, loff_t *ppos, 1.140 + 1.141 + return splice_read(in, ppos, pipe, len, flags); 1.142 + } 1.143 ++EXPORT_SYMBOL(do_splice_to); 1.144 + 1.145 + /** 1.146 + * splice_direct_to_actor - splices data directly between two non-pipes 1.147 +diff --git a/security/commoncap.c b/security/commoncap.c 1.148 +index f800fdb..ea457bc 100644 1.149 +--- a/security/commoncap.c 1.150 ++++ b/security/commoncap.c 1.151 +@@ -946,3 +946,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, 1.152 + } 1.153 + return ret; 1.154 + } 1.155 ++EXPORT_SYMBOL(cap_file_mmap); 1.156 +diff --git a/security/device_cgroup.c b/security/device_cgroup.c 1.157 +index 6cf8fd2..008e0d8 100644 1.158 +--- a/security/device_cgroup.c 1.159 ++++ b/security/device_cgroup.c 1.160 +@@ -514,6 +514,7 @@ found: 1.161 + 1.162 + return -EPERM; 1.163 + } 1.164 ++EXPORT_SYMBOL(devcgroup_inode_permission); 1.165 + 1.166 + int devcgroup_inode_mknod(int mode, dev_t dev) 1.167 + { 1.168 +diff --git a/security/security.c b/security/security.c 1.169 +index 122b748..a4a3d99 100644 1.170 +--- a/security/security.c 1.171 ++++ b/security/security.c 1.172 +@@ -404,6 +404,7 @@ int security_path_mkdir(struct path *path, struct dentry *dentry, int mode) 1.173 + return 0; 1.174 + return security_ops->path_mkdir(path, dentry, mode); 1.175 + } 1.176 ++EXPORT_SYMBOL(security_path_mkdir); 1.177 + 1.178 + int security_path_rmdir(struct path *path, struct dentry *dentry) 1.179 + { 1.180 +@@ -411,6 +412,7 @@ int security_path_rmdir(struct path *path, struct dentry *dentry) 1.181 + return 0; 1.182 + return security_ops->path_rmdir(path, dentry); 1.183 + } 1.184 ++EXPORT_SYMBOL(security_path_rmdir); 1.185 + 1.186 + int security_path_unlink(struct path *path, struct dentry *dentry) 1.187 + { 1.188 +@@ -418,6 +420,7 @@ int security_path_unlink(struct path *path, struct dentry *dentry) 1.189 + return 0; 1.190 + return security_ops->path_unlink(path, dentry); 1.191 + } 1.192 ++EXPORT_SYMBOL(security_path_unlink); 1.193 + 1.194 + int security_path_symlink(struct path *path, struct dentry *dentry, 1.195 + const char *old_name) 1.196 +@@ -426,6 +429,7 @@ int security_path_symlink(struct path *path, struct dentry *dentry, 1.197 + return 0; 1.198 + return security_ops->path_symlink(path, dentry, old_name); 1.199 + } 1.200 ++EXPORT_SYMBOL(security_path_symlink); 1.201 + 1.202 + int security_path_link(struct dentry *old_dentry, struct path *new_dir, 1.203 + struct dentry *new_dentry) 1.204 +@@ -434,6 +438,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, 1.205 + return 0; 1.206 + return security_ops->path_link(old_dentry, new_dir, new_dentry); 1.207 + } 1.208 ++EXPORT_SYMBOL(security_path_link); 1.209 + 1.210 + int security_path_rename(struct path *old_dir, struct dentry *old_dentry, 1.211 + struct path *new_dir, struct dentry *new_dentry) 1.212 +@@ -444,6 +449,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry, 1.213 + return security_ops->path_rename(old_dir, old_dentry, new_dir, 1.214 + new_dentry); 1.215 + } 1.216 ++EXPORT_SYMBOL(security_path_rename); 1.217 + 1.218 + int security_path_truncate(struct path *path, loff_t length, 1.219 + unsigned int time_attrs) 1.220 +@@ -452,6 +458,7 @@ int security_path_truncate(struct path *path, loff_t length, 1.221 + return 0; 1.222 + return security_ops->path_truncate(path, length, time_attrs); 1.223 + } 1.224 ++EXPORT_SYMBOL(security_path_truncate); 1.225 + 1.226 + int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, 1.227 + mode_t mode) 1.228 +@@ -460,6 +467,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, 1.229 + return 0; 1.230 + return security_ops->path_chmod(dentry, mnt, mode); 1.231 + } 1.232 ++EXPORT_SYMBOL(security_path_chmod); 1.233 + 1.234 + int security_path_chown(struct path *path, uid_t uid, gid_t gid) 1.235 + { 1.236 +@@ -467,6 +475,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) 1.237 + return 0; 1.238 + return security_ops->path_chown(path, uid, gid); 1.239 + } 1.240 ++EXPORT_SYMBOL(security_path_chown); 1.241 + 1.242 + int security_path_chroot(struct path *path) 1.243 + { 1.244 +@@ -543,6 +552,7 @@ int security_inode_readlink(struct dentry *dentry) 1.245 + return 0; 1.246 + return security_ops->inode_readlink(dentry); 1.247 + } 1.248 ++EXPORT_SYMBOL(security_inode_readlink); 1.249 + 1.250 + int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) 1.251 + { 1.252 +@@ -557,6 +567,7 @@ int security_inode_permission(struct inode *inode, int mask) 1.253 + return 0; 1.254 + return security_ops->inode_permission(inode, mask); 1.255 + } 1.256 ++EXPORT_SYMBOL(security_inode_permission); 1.257 + 1.258 + int security_inode_setattr(struct dentry *dentry, struct iattr *attr) 1.259 + { 1.260 +@@ -657,6 +668,7 @@ int security_file_permission(struct file *file, int mask) 1.261 + { 1.262 + return security_ops->file_permission(file, mask); 1.263 + } 1.264 ++EXPORT_SYMBOL(security_file_permission); 1.265 + 1.266 + int security_file_alloc(struct file *file) 1.267 + { 1.268 +@@ -684,6 +696,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot, 1.269 + return ret; 1.270 + return ima_file_mmap(file, prot); 1.271 + } 1.272 ++EXPORT_SYMBOL(security_file_mmap); 1.273 + 1.274 + int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, 1.275 + unsigned long prot)