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)