1 |
jlec 12/07/30 08:25:27 |
2 |
|
3 |
Modified: aufs3-base-x-rcN.patch aufs3-standalone-x-rcN.patch |
4 |
Added: aufs3-base-5.patch aufs3-standalone-5.patch |
5 |
Log: |
6 |
sys-fs/aufs3: Version Bump |
7 |
|
8 |
(Portage version: 2.2.0_alpha120/cvs/Linux x86_64) |
9 |
|
10 |
Revision Changes Path |
11 |
1.6 sys-fs/aufs3/files/aufs3-base-x-rcN.patch |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-base-x-rcN.patch?rev=1.6&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-base-x-rcN.patch?rev=1.6&content-type=text/plain |
15 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-base-x-rcN.patch?r1=1.5&r2=1.6 |
16 |
|
17 |
Index: aufs3-base-x-rcN.patch |
18 |
=================================================================== |
19 |
RCS file: /var/cvsroot/gentoo-x86/sys-fs/aufs3/files/aufs3-base-x-rcN.patch,v |
20 |
retrieving revision 1.5 |
21 |
retrieving revision 1.6 |
22 |
diff -u -r1.5 -r1.6 |
23 |
--- aufs3-base-x-rcN.patch 19 Jun 2012 18:56:35 -0000 1.5 |
24 |
+++ aufs3-base-x-rcN.patch 30 Jul 2012 08:25:27 -0000 1.6 |
25 |
@@ -1,7 +1,7 @@ |
26 |
aufs3.x-rcN base patch |
27 |
|
28 |
diff --git a/fs/inode.c b/fs/inode.c |
29 |
-index c99163b..7f772fd 100644 |
30 |
+index 775cbab..1c14ec7 100644 |
31 |
--- a/fs/inode.c |
32 |
+++ b/fs/inode.c |
33 |
@@ -1491,7 +1491,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, |
34 |
@@ -13,24 +13,11 @@ |
35 |
{ |
36 |
if (inode->i_op->update_time) |
37 |
return inode->i_op->update_time(inode, time, flags); |
38 |
-diff --git a/fs/namei.c b/fs/namei.c |
39 |
-index 7d69419..18c9782 100644 |
40 |
---- a/fs/namei.c |
41 |
-+++ b/fs/namei.c |
42 |
-@@ -1864,7 +1864,7 @@ int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, |
43 |
- * needs parent already locked. Doesn't follow mounts. |
44 |
- * SMP-safe. |
45 |
- */ |
46 |
--static struct dentry *lookup_hash(struct nameidata *nd) |
47 |
-+struct dentry *lookup_hash(struct nameidata *nd) |
48 |
- { |
49 |
- return __lookup_hash(&nd->last, nd->path.dentry, nd); |
50 |
- } |
51 |
diff --git a/fs/splice.c b/fs/splice.c |
52 |
-index c9f1318..490239f 100644 |
53 |
+index 7bf08fa..e3c40b5 100644 |
54 |
--- a/fs/splice.c |
55 |
+++ b/fs/splice.c |
56 |
-@@ -1086,8 +1086,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); |
57 |
+@@ -1090,8 +1090,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); |
58 |
/* |
59 |
* Attempt to initiate a splice from pipe to file. |
60 |
*/ |
61 |
@@ -41,7 +28,7 @@ |
62 |
{ |
63 |
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, |
64 |
loff_t *, size_t, unsigned int); |
65 |
-@@ -1114,9 +1114,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
66 |
+@@ -1118,9 +1118,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
67 |
/* |
68 |
* Attempt to initiate a splice from a file to a pipe. |
69 |
*/ |
70 |
@@ -55,10 +42,10 @@ |
71 |
ssize_t (*splice_read)(struct file *, loff_t *, |
72 |
struct pipe_inode_info *, size_t, unsigned int); |
73 |
diff --git a/include/linux/fs.h b/include/linux/fs.h |
74 |
-index 17fd887..9c75a47 100644 |
75 |
+index 8fabb03..3a21a51 100644 |
76 |
--- a/include/linux/fs.h |
77 |
+++ b/include/linux/fs.h |
78 |
-@@ -2591,6 +2591,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *); |
79 |
+@@ -2606,6 +2606,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *); |
80 |
extern int inode_newsize_ok(const struct inode *, loff_t offset); |
81 |
extern void setattr_copy(struct inode *inode, const struct iattr *attr); |
82 |
|
83 |
@@ -66,23 +53,11 @@ |
84 |
extern int file_update_time(struct file *file); |
85 |
|
86 |
extern int generic_show_options(struct seq_file *m, struct dentry *root); |
87 |
-diff --git a/include/linux/namei.h b/include/linux/namei.h |
88 |
-index ffc0213..ef35a31 100644 |
89 |
---- a/include/linux/namei.h |
90 |
-+++ b/include/linux/namei.h |
91 |
-@@ -85,6 +85,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *, |
92 |
- extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, |
93 |
- int (*open)(struct inode *, struct file *)); |
94 |
- |
95 |
-+extern struct dentry *lookup_hash(struct nameidata *nd); |
96 |
- extern struct dentry *lookup_one_len(const char *, struct dentry *, int); |
97 |
- |
98 |
- extern int follow_down_one(struct path *); |
99 |
diff --git a/include/linux/splice.h b/include/linux/splice.h |
100 |
-index 26e5b61..3ffef2f 100644 |
101 |
+index 09a545a..1ac5727 100644 |
102 |
--- a/include/linux/splice.h |
103 |
+++ b/include/linux/splice.h |
104 |
-@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct pipe_inode_info *, |
105 |
+@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); |
106 |
extern void spd_release_page(struct splice_pipe_desc *, unsigned int); |
107 |
|
108 |
extern const struct pipe_buf_operations page_cache_pipe_buf_ops; |
109 |
|
110 |
|
111 |
|
112 |
1.6 sys-fs/aufs3/files/aufs3-standalone-x-rcN.patch |
113 |
|
114 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-x-rcN.patch?rev=1.6&view=markup |
115 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-x-rcN.patch?rev=1.6&content-type=text/plain |
116 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-x-rcN.patch?r1=1.5&r2=1.6 |
117 |
|
118 |
Index: aufs3-standalone-x-rcN.patch |
119 |
=================================================================== |
120 |
RCS file: /var/cvsroot/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-x-rcN.patch,v |
121 |
retrieving revision 1.5 |
122 |
retrieving revision 1.6 |
123 |
diff -u -r1.5 -r1.6 |
124 |
--- aufs3-standalone-x-rcN.patch 19 Jun 2012 18:56:35 -0000 1.5 |
125 |
+++ aufs3-standalone-x-rcN.patch 30 Jul 2012 08:25:27 -0000 1.6 |
126 |
@@ -1,10 +1,10 @@ |
127 |
aufs3.x-rcN standalone patch |
128 |
|
129 |
diff --git a/fs/file_table.c b/fs/file_table.c |
130 |
-index a305d9e..6a768be 100644 |
131 |
+index b3fc4d6..1bcb78d 100644 |
132 |
--- a/fs/file_table.c |
133 |
+++ b/fs/file_table.c |
134 |
-@@ -35,6 +35,7 @@ struct files_stat_struct files_stat = { |
135 |
+@@ -37,6 +37,7 @@ struct files_stat_struct files_stat = { |
136 |
}; |
137 |
|
138 |
DEFINE_LGLOCK(files_lglock); |
139 |
@@ -12,7 +12,7 @@ |
140 |
|
141 |
/* SLAB cache for file structures */ |
142 |
static struct kmem_cache *filp_cachep __read_mostly; |
143 |
-@@ -441,6 +442,8 @@ void file_sb_list_del(struct file *file) |
144 |
+@@ -509,6 +510,8 @@ void file_sb_list_del(struct file *file) |
145 |
} |
146 |
} |
147 |
|
148 |
@@ -22,7 +22,7 @@ |
149 |
|
150 |
/* |
151 |
diff --git a/fs/inode.c b/fs/inode.c |
152 |
-index 7f772fd..e789d2f 100644 |
153 |
+index 1c14ec7..92b8a01 100644 |
154 |
--- a/fs/inode.c |
155 |
+++ b/fs/inode.c |
156 |
@@ -56,6 +56,7 @@ static struct hlist_head *inode_hashtable __read_mostly; |
157 |
@@ -41,20 +41,8 @@ |
158 |
|
159 |
/** |
160 |
* touch_atime - update the access time |
161 |
-diff --git a/fs/namei.c b/fs/namei.c |
162 |
-index 18c9782..f09edf3 100644 |
163 |
---- a/fs/namei.c |
164 |
-+++ b/fs/namei.c |
165 |
-@@ -1868,6 +1868,7 @@ struct dentry *lookup_hash(struct nameidata *nd) |
166 |
- { |
167 |
- return __lookup_hash(&nd->last, nd->path.dentry, nd); |
168 |
- } |
169 |
-+EXPORT_SYMBOL(lookup_hash); |
170 |
- |
171 |
- /** |
172 |
- * lookup_one_len - filesystem helper to lookup single pathname component |
173 |
diff --git a/fs/namespace.c b/fs/namespace.c |
174 |
-index 1e4a5fe..06aa768 100644 |
175 |
+index c53d338..08b2f0a 100644 |
176 |
--- a/fs/namespace.c |
177 |
+++ b/fs/namespace.c |
178 |
@@ -50,6 +50,7 @@ EXPORT_SYMBOL_GPL(fs_kobj); |
179 |
@@ -65,7 +53,7 @@ |
180 |
|
181 |
static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry) |
182 |
{ |
183 |
-@@ -1341,6 +1342,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, |
184 |
+@@ -1344,6 +1345,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, |
185 |
} |
186 |
return 0; |
187 |
} |
188 |
@@ -135,7 +123,7 @@ |
189 |
static int fsnotify_mark_destroy(void *ignored) |
190 |
{ |
191 |
diff --git a/fs/open.c b/fs/open.c |
192 |
-index d6c79a0..9004a15 100644 |
193 |
+index 1e914b3..8959129 100644 |
194 |
--- a/fs/open.c |
195 |
+++ b/fs/open.c |
196 |
@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, |
197 |
@@ -147,10 +135,10 @@ |
198 |
static long do_sys_truncate(const char __user *pathname, loff_t length) |
199 |
{ |
200 |
diff --git a/fs/splice.c b/fs/splice.c |
201 |
-index 490239f..701d34a 100644 |
202 |
+index e3c40b5..3afc547 100644 |
203 |
--- a/fs/splice.c |
204 |
+++ b/fs/splice.c |
205 |
-@@ -1110,6 +1110,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
206 |
+@@ -1114,6 +1114,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
207 |
|
208 |
return splice_write(pipe, out, ppos, len, flags); |
209 |
} |
210 |
@@ -158,7 +146,7 @@ |
211 |
|
212 |
/* |
213 |
* Attempt to initiate a splice from a file to a pipe. |
214 |
-@@ -1136,6 +1137,7 @@ long do_splice_to(struct file *in, loff_t *ppos, |
215 |
+@@ -1140,6 +1141,7 @@ long do_splice_to(struct file *in, loff_t *ppos, |
216 |
|
217 |
return splice_read(in, ppos, pipe, len, flags); |
218 |
} |
219 |
@@ -203,10 +191,10 @@ |
220 |
int devcgroup_inode_mknod(int mode, dev_t dev) |
221 |
{ |
222 |
diff --git a/security/security.c b/security/security.c |
223 |
-index 3efc9b1..c7afd35 100644 |
224 |
+index 860aeb3..ffb57bf 100644 |
225 |
--- a/security/security.c |
226 |
+++ b/security/security.c |
227 |
-@@ -383,6 +383,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) |
228 |
+@@ -384,6 +384,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) |
229 |
return 0; |
230 |
return security_ops->path_rmdir(dir, dentry); |
231 |
} |
232 |
@@ -214,7 +202,7 @@ |
233 |
|
234 |
int security_path_unlink(struct path *dir, struct dentry *dentry) |
235 |
{ |
236 |
-@@ -399,6 +400,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, |
237 |
+@@ -400,6 +401,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, |
238 |
return 0; |
239 |
return security_ops->path_symlink(dir, dentry, old_name); |
240 |
} |
241 |
@@ -222,7 +210,7 @@ |
242 |
|
243 |
int security_path_link(struct dentry *old_dentry, struct path *new_dir, |
244 |
struct dentry *new_dentry) |
245 |
-@@ -407,6 +409,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, |
246 |
+@@ -408,6 +410,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, |
247 |
return 0; |
248 |
return security_ops->path_link(old_dentry, new_dir, new_dentry); |
249 |
} |
250 |
@@ -230,7 +218,7 @@ |
251 |
|
252 |
int security_path_rename(struct path *old_dir, struct dentry *old_dentry, |
253 |
struct path *new_dir, struct dentry *new_dentry) |
254 |
-@@ -425,6 +428,7 @@ int security_path_truncate(struct path *path) |
255 |
+@@ -426,6 +429,7 @@ int security_path_truncate(struct path *path) |
256 |
return 0; |
257 |
return security_ops->path_truncate(path); |
258 |
} |
259 |
@@ -238,7 +226,7 @@ |
260 |
|
261 |
int security_path_chmod(struct path *path, umode_t mode) |
262 |
{ |
263 |
-@@ -432,6 +436,7 @@ int security_path_chmod(struct path *path, umode_t mode) |
264 |
+@@ -433,6 +437,7 @@ int security_path_chmod(struct path *path, umode_t mode) |
265 |
return 0; |
266 |
return security_ops->path_chmod(path, mode); |
267 |
} |
268 |
@@ -246,7 +234,7 @@ |
269 |
|
270 |
int security_path_chown(struct path *path, uid_t uid, gid_t gid) |
271 |
{ |
272 |
-@@ -439,6 +444,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) |
273 |
+@@ -440,6 +445,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) |
274 |
return 0; |
275 |
return security_ops->path_chown(path, uid, gid); |
276 |
} |
277 |
@@ -254,7 +242,7 @@ |
278 |
|
279 |
int security_path_chroot(struct path *path) |
280 |
{ |
281 |
-@@ -515,6 +521,7 @@ int security_inode_readlink(struct dentry *dentry) |
282 |
+@@ -516,6 +522,7 @@ int security_inode_readlink(struct dentry *dentry) |
283 |
return 0; |
284 |
return security_ops->inode_readlink(dentry); |
285 |
} |
286 |
@@ -262,7 +250,7 @@ |
287 |
|
288 |
int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) |
289 |
{ |
290 |
-@@ -529,6 +536,7 @@ int security_inode_permission(struct inode *inode, int mask) |
291 |
+@@ -530,6 +537,7 @@ int security_inode_permission(struct inode *inode, int mask) |
292 |
return 0; |
293 |
return security_ops->inode_permission(inode, mask); |
294 |
} |
295 |
@@ -270,7 +258,7 @@ |
296 |
|
297 |
int security_inode_setattr(struct dentry *dentry, struct iattr *attr) |
298 |
{ |
299 |
-@@ -644,6 +652,7 @@ int security_file_permission(struct file *file, int mask) |
300 |
+@@ -645,6 +653,7 @@ int security_file_permission(struct file *file, int mask) |
301 |
|
302 |
return fsnotify_perm(file, mask); |
303 |
} |
304 |
@@ -278,7 +266,7 @@ |
305 |
|
306 |
int security_file_alloc(struct file *file) |
307 |
{ |
308 |
-@@ -704,6 +713,7 @@ int security_mmap_file(struct file *file, unsigned long prot, |
309 |
+@@ -705,6 +714,7 @@ int security_mmap_file(struct file *file, unsigned long prot, |
310 |
return ret; |
311 |
return ima_file_mmap(file, prot); |
312 |
} |
313 |
|
314 |
|
315 |
|
316 |
1.1 sys-fs/aufs3/files/aufs3-base-5.patch |
317 |
|
318 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-base-5.patch?rev=1.1&view=markup |
319 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-base-5.patch?rev=1.1&content-type=text/plain |
320 |
|
321 |
Index: aufs3-base-5.patch |
322 |
=================================================================== |
323 |
aufs3.5 base patch |
324 |
|
325 |
diff --git a/fs/inode.c b/fs/inode.c |
326 |
index c99163b..7f772fd 100644 |
327 |
--- a/fs/inode.c |
328 |
+++ b/fs/inode.c |
329 |
@@ -1491,7 +1491,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, |
330 |
* This does the actual work of updating an inodes time or version. Must have |
331 |
* had called mnt_want_write() before calling this. |
332 |
*/ |
333 |
-static int update_time(struct inode *inode, struct timespec *time, int flags) |
334 |
+int update_time(struct inode *inode, struct timespec *time, int flags) |
335 |
{ |
336 |
if (inode->i_op->update_time) |
337 |
return inode->i_op->update_time(inode, time, flags); |
338 |
diff --git a/fs/namei.c b/fs/namei.c |
339 |
index 7d69419..18c9782 100644 |
340 |
--- a/fs/namei.c |
341 |
+++ b/fs/namei.c |
342 |
@@ -1864,7 +1864,7 @@ int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, |
343 |
* needs parent already locked. Doesn't follow mounts. |
344 |
* SMP-safe. |
345 |
*/ |
346 |
-static struct dentry *lookup_hash(struct nameidata *nd) |
347 |
+struct dentry *lookup_hash(struct nameidata *nd) |
348 |
{ |
349 |
return __lookup_hash(&nd->last, nd->path.dentry, nd); |
350 |
} |
351 |
diff --git a/fs/splice.c b/fs/splice.c |
352 |
index 7bf08fa..e3c40b5 100644 |
353 |
--- a/fs/splice.c |
354 |
+++ b/fs/splice.c |
355 |
@@ -1090,8 +1090,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); |
356 |
/* |
357 |
* Attempt to initiate a splice from pipe to file. |
358 |
*/ |
359 |
-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
360 |
- loff_t *ppos, size_t len, unsigned int flags) |
361 |
+long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
362 |
+ loff_t *ppos, size_t len, unsigned int flags) |
363 |
{ |
364 |
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, |
365 |
loff_t *, size_t, unsigned int); |
366 |
@@ -1118,9 +1118,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
367 |
/* |
368 |
* Attempt to initiate a splice from a file to a pipe. |
369 |
*/ |
370 |
-static long do_splice_to(struct file *in, loff_t *ppos, |
371 |
- struct pipe_inode_info *pipe, size_t len, |
372 |
- unsigned int flags) |
373 |
+long do_splice_to(struct file *in, loff_t *ppos, |
374 |
+ struct pipe_inode_info *pipe, size_t len, |
375 |
+ unsigned int flags) |
376 |
{ |
377 |
ssize_t (*splice_read)(struct file *, loff_t *, |
378 |
struct pipe_inode_info *, size_t, unsigned int); |
379 |
diff --git a/include/linux/fs.h b/include/linux/fs.h |
380 |
index 17fd887..9c75a47 100644 |
381 |
--- a/include/linux/fs.h |
382 |
+++ b/include/linux/fs.h |
383 |
@@ -2591,6 +2591,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *); |
384 |
extern int inode_newsize_ok(const struct inode *, loff_t offset); |
385 |
extern void setattr_copy(struct inode *inode, const struct iattr *attr); |
386 |
|
387 |
+extern int update_time(struct inode *, struct timespec *, int); |
388 |
extern int file_update_time(struct file *file); |
389 |
|
390 |
extern int generic_show_options(struct seq_file *m, struct dentry *root); |
391 |
diff --git a/include/linux/namei.h b/include/linux/namei.h |
392 |
index ffc0213..ef35a31 100644 |
393 |
--- a/include/linux/namei.h |
394 |
+++ b/include/linux/namei.h |
395 |
@@ -85,6 +85,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *, |
396 |
extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, |
397 |
int (*open)(struct inode *, struct file *)); |
398 |
|
399 |
+extern struct dentry *lookup_hash(struct nameidata *nd); |
400 |
extern struct dentry *lookup_one_len(const char *, struct dentry *, int); |
401 |
|
402 |
extern int follow_down_one(struct path *); |
403 |
diff --git a/include/linux/splice.h b/include/linux/splice.h |
404 |
index 09a545a..1ac5727 100644 |
405 |
--- a/include/linux/splice.h |
406 |
+++ b/include/linux/splice.h |
407 |
@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); |
408 |
extern void spd_release_page(struct splice_pipe_desc *, unsigned int); |
409 |
|
410 |
extern const struct pipe_buf_operations page_cache_pipe_buf_ops; |
411 |
+ |
412 |
+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
413 |
+ loff_t *ppos, size_t len, unsigned int flags); |
414 |
+extern long do_splice_to(struct file *in, loff_t *ppos, |
415 |
+ struct pipe_inode_info *pipe, size_t len, |
416 |
+ unsigned int flags); |
417 |
#endif |
418 |
|
419 |
|
420 |
|
421 |
1.1 sys-fs/aufs3/files/aufs3-standalone-5.patch |
422 |
|
423 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-5.patch?rev=1.1&view=markup |
424 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-5.patch?rev=1.1&content-type=text/plain |
425 |
|
426 |
Index: aufs3-standalone-5.patch |
427 |
=================================================================== |
428 |
aufs3.5 standalone patch |
429 |
|
430 |
diff --git a/fs/file_table.c b/fs/file_table.c |
431 |
index a305d9e..6a768be 100644 |
432 |
--- a/fs/file_table.c |
433 |
+++ b/fs/file_table.c |
434 |
@@ -35,6 +35,7 @@ struct files_stat_struct files_stat = { |
435 |
}; |
436 |
|
437 |
DEFINE_LGLOCK(files_lglock); |
438 |
+EXPORT_SYMBOL(files_lglock); |
439 |
|
440 |
/* SLAB cache for file structures */ |
441 |
static struct kmem_cache *filp_cachep __read_mostly; |
442 |
@@ -441,6 +442,8 @@ void file_sb_list_del(struct file *file) |
443 |
} |
444 |
} |
445 |
|
446 |
+EXPORT_SYMBOL(file_sb_list_del); |
447 |
+ |
448 |
#ifdef CONFIG_SMP |
449 |
|
450 |
/* |
451 |
diff --git a/fs/inode.c b/fs/inode.c |
452 |
index 7f772fd..e789d2f 100644 |
453 |
--- a/fs/inode.c |
454 |
+++ b/fs/inode.c |
455 |
@@ -56,6 +56,7 @@ static struct hlist_head *inode_hashtable __read_mostly; |
456 |
static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock); |
457 |
|
458 |
__cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock); |
459 |
+EXPORT_SYMBOL(inode_sb_list_lock); |
460 |
|
461 |
/* |
462 |
* Empty aops. Can be used for the cases where the user does not |
463 |
@@ -1507,6 +1508,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags) |
464 |
mark_inode_dirty_sync(inode); |
465 |
return 0; |
466 |
} |
467 |
+EXPORT_SYMBOL(update_time); |
468 |
|
469 |
/** |
470 |
* touch_atime - update the access time |
471 |
diff --git a/fs/namei.c b/fs/namei.c |
472 |
index 18c9782..f09edf3 100644 |
473 |
--- a/fs/namei.c |
474 |
+++ b/fs/namei.c |
475 |
@@ -1868,6 +1868,7 @@ struct dentry *lookup_hash(struct nameidata *nd) |
476 |
{ |
477 |
return __lookup_hash(&nd->last, nd->path.dentry, nd); |
478 |
} |
479 |
+EXPORT_SYMBOL(lookup_hash); |
480 |
|
481 |
/** |
482 |
* lookup_one_len - filesystem helper to lookup single pathname component |
483 |
diff --git a/fs/namespace.c b/fs/namespace.c |
484 |
index 1e4a5fe..06aa768 100644 |
485 |
--- a/fs/namespace.c |
486 |
+++ b/fs/namespace.c |
487 |
@@ -50,6 +50,7 @@ EXPORT_SYMBOL_GPL(fs_kobj); |
488 |
* tree or hash is modified or when a vfsmount structure is modified. |
489 |
*/ |
490 |
DEFINE_BRLOCK(vfsmount_lock); |
491 |
+EXPORT_SYMBOL(vfsmount_lock); |
492 |
|
493 |
static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry) |
494 |
{ |
495 |
@@ -1341,6 +1342,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, |
496 |
} |
497 |
return 0; |
498 |
} |
499 |
+EXPORT_SYMBOL(iterate_mounts); |
500 |
|
501 |
static void cleanup_group_ids(struct mount *mnt, struct mount *end) |
502 |
{ |
503 |
diff --git a/fs/notify/group.c b/fs/notify/group.c |
504 |
index 63fc294..6f4adca 100644 |
505 |
--- a/fs/notify/group.c |
506 |
+++ b/fs/notify/group.c |
507 |
@@ -22,6 +22,7 @@ |
508 |
#include <linux/srcu.h> |
509 |
#include <linux/rculist.h> |
510 |
#include <linux/wait.h> |
511 |
+#include <linux/module.h> |
512 |
|
513 |
#include <linux/fsnotify_backend.h> |
514 |
#include "fsnotify.h" |
515 |
@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group) |
516 |
if (atomic_dec_and_test(&group->refcnt)) |
517 |
fsnotify_destroy_group(group); |
518 |
} |
519 |
+EXPORT_SYMBOL(fsnotify_put_group); |
520 |
|
521 |
/* |
522 |
* Create a new fsnotify_group and hold a reference for the group returned. |
523 |
@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) |
524 |
|
525 |
return group; |
526 |
} |
527 |
+EXPORT_SYMBOL(fsnotify_alloc_group); |
528 |
diff --git a/fs/notify/mark.c b/fs/notify/mark.c |
529 |
index f104d56..54f36db 100644 |
530 |
--- a/fs/notify/mark.c |
531 |
+++ b/fs/notify/mark.c |
532 |
@@ -112,6 +112,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) |
533 |
if (atomic_dec_and_test(&mark->refcnt)) |
534 |
mark->free_mark(mark); |
535 |
} |
536 |
+EXPORT_SYMBOL(fsnotify_put_mark); |
537 |
|
538 |
/* |
539 |
* Any time a mark is getting freed we end up here. |
540 |
@@ -191,6 +192,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark) |
541 |
if (unlikely(atomic_dec_and_test(&group->num_marks))) |
542 |
fsnotify_final_destroy_group(group); |
543 |
} |
544 |
+EXPORT_SYMBOL(fsnotify_destroy_mark); |
545 |
|
546 |
void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask) |
547 |
{ |
548 |
@@ -278,6 +280,7 @@ err: |
549 |
|
550 |
return ret; |
551 |
} |
552 |
+EXPORT_SYMBOL(fsnotify_add_mark); |
553 |
|
554 |
/* |
555 |
* clear any marks in a group in which mark->flags & flags is true |
556 |
@@ -333,6 +336,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, |
557 |
atomic_set(&mark->refcnt, 1); |
558 |
mark->free_mark = free_mark; |
559 |
} |
560 |
+EXPORT_SYMBOL(fsnotify_init_mark); |
561 |
|
562 |
static int fsnotify_mark_destroy(void *ignored) |
563 |
{ |
564 |
diff --git a/fs/open.c b/fs/open.c |
565 |
index 1540632..2463289 100644 |
566 |
--- a/fs/open.c |
567 |
+++ b/fs/open.c |
568 |
@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, |
569 |
mutex_unlock(&dentry->d_inode->i_mutex); |
570 |
return ret; |
571 |
} |
572 |
+EXPORT_SYMBOL(do_truncate); |
573 |
|
574 |
static long do_sys_truncate(const char __user *pathname, loff_t length) |
575 |
{ |
576 |
diff --git a/fs/splice.c b/fs/splice.c |
577 |
index e3c40b5..3afc547 100644 |
578 |
--- a/fs/splice.c |
579 |
+++ b/fs/splice.c |
580 |
@@ -1114,6 +1114,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
581 |
|
582 |
return splice_write(pipe, out, ppos, len, flags); |
583 |
} |
584 |
+EXPORT_SYMBOL(do_splice_from); |
585 |
|
586 |
/* |
587 |
* Attempt to initiate a splice from a file to a pipe. |
588 |
@@ -1140,6 +1141,7 @@ long do_splice_to(struct file *in, loff_t *ppos, |
589 |
|
590 |
return splice_read(in, ppos, pipe, len, flags); |
591 |
} |
592 |
+EXPORT_SYMBOL(do_splice_to); |
593 |
|
594 |
/** |
595 |
* splice_direct_to_actor - splices data directly between two non-pipes |
596 |
diff --git a/security/commoncap.c b/security/commoncap.c |
597 |
index 6dbae46..9f4f29a 100644 |
598 |
--- a/security/commoncap.c |
599 |
+++ b/security/commoncap.c |
600 |
@@ -979,9 +979,11 @@ int cap_mmap_addr(unsigned long addr) |
601 |
} |
602 |
return ret; |
603 |
} |
604 |
+EXPORT_SYMBOL(cap_mmap_addr); |
605 |
|
606 |
int cap_mmap_file(struct file *file, unsigned long reqprot, |
607 |
unsigned long prot, unsigned long flags) |
608 |
{ |
609 |
return 0; |
610 |
} |
611 |
+EXPORT_SYMBOL(cap_mmap_file); |
612 |
diff --git a/security/device_cgroup.c b/security/device_cgroup.c |
613 |
index 442204c..e644a1c 100644 |
614 |
--- a/security/device_cgroup.c |
615 |
+++ b/security/device_cgroup.c |
616 |
@@ -7,6 +7,7 @@ |
617 |
#include <linux/device_cgroup.h> |
618 |
#include <linux/cgroup.h> |
619 |
#include <linux/ctype.h> |
620 |
+#include <linux/export.h> |
621 |
#include <linux/list.h> |
622 |
#include <linux/uaccess.h> |
623 |
#include <linux/seq_file.h> |
624 |
@@ -493,6 +494,7 @@ found: |
625 |
|
626 |
return -EPERM; |
627 |
} |
628 |
+EXPORT_SYMBOL(__devcgroup_inode_permission); |
629 |
|
630 |
int devcgroup_inode_mknod(int mode, dev_t dev) |
631 |
{ |
632 |
diff --git a/security/security.c b/security/security.c |
633 |
index 860aeb3..ffb57bf 100644 |
634 |
--- a/security/security.c |
635 |
+++ b/security/security.c |
636 |
@@ -384,6 +384,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) |
637 |
return 0; |
638 |
return security_ops->path_rmdir(dir, dentry); |
639 |
} |
640 |
+EXPORT_SYMBOL(security_path_rmdir); |
641 |
|
642 |
int security_path_unlink(struct path *dir, struct dentry *dentry) |
643 |
{ |
644 |
@@ -400,6 +401,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, |
645 |
return 0; |
646 |
return security_ops->path_symlink(dir, dentry, old_name); |
647 |
} |
648 |
+EXPORT_SYMBOL(security_path_symlink); |
649 |
|
650 |
int security_path_link(struct dentry *old_dentry, struct path *new_dir, |
651 |
struct dentry *new_dentry) |
652 |
@@ -408,6 +410,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, |
653 |
return 0; |
654 |
return security_ops->path_link(old_dentry, new_dir, new_dentry); |
655 |
} |
656 |
+EXPORT_SYMBOL(security_path_link); |
657 |
|
658 |
int security_path_rename(struct path *old_dir, struct dentry *old_dentry, |
659 |
struct path *new_dir, struct dentry *new_dentry) |
660 |
@@ -426,6 +429,7 @@ int security_path_truncate(struct path *path) |
661 |
return 0; |
662 |
return security_ops->path_truncate(path); |
663 |
} |
664 |
+EXPORT_SYMBOL(security_path_truncate); |
665 |
|
666 |
int security_path_chmod(struct path *path, umode_t mode) |
667 |
{ |
668 |
@@ -433,6 +437,7 @@ int security_path_chmod(struct path *path, umode_t mode) |
669 |
return 0; |
670 |
return security_ops->path_chmod(path, mode); |
671 |
} |
672 |
+EXPORT_SYMBOL(security_path_chmod); |
673 |
|
674 |
int security_path_chown(struct path *path, uid_t uid, gid_t gid) |
675 |
{ |
676 |
@@ -440,6 +445,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) |
677 |
return 0; |
678 |
return security_ops->path_chown(path, uid, gid); |
679 |
} |
680 |
+EXPORT_SYMBOL(security_path_chown); |
681 |
|
682 |
int security_path_chroot(struct path *path) |
683 |
{ |
684 |
@@ -516,6 +522,7 @@ int security_inode_readlink(struct dentry *dentry) |
685 |
return 0; |
686 |
return security_ops->inode_readlink(dentry); |
687 |
} |
688 |
+EXPORT_SYMBOL(security_inode_readlink); |
689 |
|
690 |
int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) |
691 |
{ |
692 |
@@ -530,6 +537,7 @@ int security_inode_permission(struct inode *inode, int mask) |
693 |
return 0; |
694 |
return security_ops->inode_permission(inode, mask); |
695 |
} |
696 |
+EXPORT_SYMBOL(security_inode_permission); |
697 |
|
698 |
int security_inode_setattr(struct dentry *dentry, struct iattr *attr) |
699 |
{ |
700 |
@@ -645,6 +653,7 @@ int security_file_permission(struct file *file, int mask) |
701 |
|
702 |
return fsnotify_perm(file, mask); |
703 |
} |
704 |
+EXPORT_SYMBOL(security_file_permission); |
705 |
|
706 |
int security_file_alloc(struct file *file) |
707 |
{ |
708 |
@@ -705,6 +714,7 @@ int security_mmap_file(struct file *file, unsigned long prot, |
709 |
return ret; |
710 |
return ima_file_mmap(file, prot); |
711 |
} |
712 |
+EXPORT_SYMBOL(security_mmap_file); |
713 |
|
714 |
int security_mmap_addr(unsigned long addr) |
715 |
{ |