1 |
jlec 11/10/31 14:01:21 |
2 |
|
3 |
Modified: aufs3-standalone-0.patch |
4 |
Added: aufs3-base-1.patch aufs3-standalone-1.patch |
5 |
aufs-util-31.patch |
6 |
Log: |
7 |
Version Bump |
8 |
|
9 |
(Portage version: 2.2.0_alpha72/cvs/Linux x86_64) |
10 |
|
11 |
Revision Changes Path |
12 |
1.2 sys-fs/aufs3/files/aufs3-standalone-0.patch |
13 |
|
14 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-0.patch?rev=1.2&view=markup |
15 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-0.patch?rev=1.2&content-type=text/plain |
16 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-0.patch?r1=1.1&r2=1.2 |
17 |
|
18 |
Index: aufs3-standalone-0.patch |
19 |
=================================================================== |
20 |
RCS file: /var/cvsroot/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-0.patch,v |
21 |
retrieving revision 1.1 |
22 |
retrieving revision 1.2 |
23 |
diff -u -r1.1 -r1.2 |
24 |
--- aufs3-standalone-0.patch 28 Aug 2011 09:48:57 -0000 1.1 |
25 |
+++ aufs3-standalone-0.patch 31 Oct 2011 14:01:21 -0000 1.2 |
26 |
@@ -151,10 +151,10 @@ |
27 |
/** |
28 |
* splice_direct_to_actor - splices data directly between two non-pipes |
29 |
diff --git a/security/commoncap.c b/security/commoncap.c |
30 |
-index f20e984..d39acd9 100644 |
31 |
+index a93b3b7..024282c 100644 |
32 |
--- a/security/commoncap.c |
33 |
+++ b/security/commoncap.c |
34 |
-@@ -976,3 +976,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, |
35 |
+@@ -971,3 +971,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, |
36 |
} |
37 |
return ret; |
38 |
} |
39 |
|
40 |
|
41 |
|
42 |
1.1 sys-fs/aufs3/files/aufs3-base-1.patch |
43 |
|
44 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-base-1.patch?rev=1.1&view=markup |
45 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-base-1.patch?rev=1.1&content-type=text/plain |
46 |
|
47 |
Index: aufs3-base-1.patch |
48 |
=================================================================== |
49 |
aufs3.1 base patch |
50 |
|
51 |
diff --git a/fs/namei.c b/fs/namei.c |
52 |
index 0b3138d..8edad02 100644 |
53 |
--- a/fs/namei.c |
54 |
+++ b/fs/namei.c |
55 |
@@ -1748,7 +1748,7 @@ static struct dentry *__lookup_hash(struct qstr *name, |
56 |
* needs parent already locked. Doesn't follow mounts. |
57 |
* SMP-safe. |
58 |
*/ |
59 |
-static struct dentry *lookup_hash(struct nameidata *nd) |
60 |
+struct dentry *lookup_hash(struct nameidata *nd) |
61 |
{ |
62 |
return __lookup_hash(&nd->last, nd->path.dentry, nd); |
63 |
} |
64 |
diff --git a/fs/splice.c b/fs/splice.c |
65 |
index fa2defa..e3569b0 100644 |
66 |
--- a/fs/splice.c |
67 |
+++ b/fs/splice.c |
68 |
@@ -1085,8 +1085,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); |
69 |
/* |
70 |
* Attempt to initiate a splice from pipe to file. |
71 |
*/ |
72 |
-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
73 |
- loff_t *ppos, size_t len, unsigned int flags) |
74 |
+long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
75 |
+ loff_t *ppos, size_t len, unsigned int flags) |
76 |
{ |
77 |
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, |
78 |
loff_t *, size_t, unsigned int); |
79 |
@@ -1113,9 +1113,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
80 |
/* |
81 |
* Attempt to initiate a splice from a file to a pipe. |
82 |
*/ |
83 |
-static long do_splice_to(struct file *in, loff_t *ppos, |
84 |
- struct pipe_inode_info *pipe, size_t len, |
85 |
- unsigned int flags) |
86 |
+long do_splice_to(struct file *in, loff_t *ppos, |
87 |
+ struct pipe_inode_info *pipe, size_t len, |
88 |
+ unsigned int flags) |
89 |
{ |
90 |
ssize_t (*splice_read)(struct file *, loff_t *, |
91 |
struct pipe_inode_info *, size_t, unsigned int); |
92 |
diff --git a/include/linux/namei.h b/include/linux/namei.h |
93 |
index 409328d..40afdc0 100644 |
94 |
--- a/include/linux/namei.h |
95 |
+++ b/include/linux/namei.h |
96 |
@@ -84,6 +84,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *, |
97 |
extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, |
98 |
int (*open)(struct inode *, struct file *)); |
99 |
|
100 |
+extern struct dentry *lookup_hash(struct nameidata *nd); |
101 |
extern struct dentry *lookup_one_len(const char *, struct dentry *, int); |
102 |
|
103 |
extern int follow_down_one(struct path *); |
104 |
diff --git a/include/linux/splice.h b/include/linux/splice.h |
105 |
index 26e5b61..3ffef2f 100644 |
106 |
--- a/include/linux/splice.h |
107 |
+++ b/include/linux/splice.h |
108 |
@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct pipe_inode_info *, |
109 |
extern void spd_release_page(struct splice_pipe_desc *, unsigned int); |
110 |
|
111 |
extern const struct pipe_buf_operations page_cache_pipe_buf_ops; |
112 |
+ |
113 |
+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
114 |
+ loff_t *ppos, size_t len, unsigned int flags); |
115 |
+extern long do_splice_to(struct file *in, loff_t *ppos, |
116 |
+ struct pipe_inode_info *pipe, size_t len, |
117 |
+ unsigned int flags); |
118 |
#endif |
119 |
|
120 |
|
121 |
|
122 |
1.1 sys-fs/aufs3/files/aufs3-standalone-1.patch |
123 |
|
124 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-1.patch?rev=1.1&view=markup |
125 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs3-standalone-1.patch?rev=1.1&content-type=text/plain |
126 |
|
127 |
Index: aufs3-standalone-1.patch |
128 |
=================================================================== |
129 |
aufs3.1 standalone patch |
130 |
|
131 |
diff --git a/fs/file_table.c b/fs/file_table.c |
132 |
index c322794..2aad244 100644 |
133 |
--- a/fs/file_table.c |
134 |
+++ b/fs/file_table.c |
135 |
@@ -443,6 +443,8 @@ void file_sb_list_del(struct file *file) |
136 |
} |
137 |
} |
138 |
|
139 |
+EXPORT_SYMBOL(file_sb_list_del); |
140 |
+ |
141 |
#ifdef CONFIG_SMP |
142 |
|
143 |
/* |
144 |
diff --git a/fs/inode.c b/fs/inode.c |
145 |
index ec79246..46ac6f9 100644 |
146 |
--- a/fs/inode.c |
147 |
+++ b/fs/inode.c |
148 |
@@ -65,6 +65,7 @@ static struct hlist_head *inode_hashtable __read_mostly; |
149 |
static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock); |
150 |
|
151 |
__cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock); |
152 |
+EXPORT_SYMBOL(inode_sb_list_lock); |
153 |
|
154 |
/* |
155 |
* Empty aops. Can be used for the cases where the user does not |
156 |
diff --git a/fs/namei.c b/fs/namei.c |
157 |
index 8edad02..50e8718 100644 |
158 |
--- a/fs/namei.c |
159 |
+++ b/fs/namei.c |
160 |
@@ -1752,6 +1752,7 @@ struct dentry *lookup_hash(struct nameidata *nd) |
161 |
{ |
162 |
return __lookup_hash(&nd->last, nd->path.dentry, nd); |
163 |
} |
164 |
+EXPORT_SYMBOL(lookup_hash); |
165 |
|
166 |
/** |
167 |
* lookup_one_len - filesystem helper to lookup single pathname component |
168 |
diff --git a/fs/namespace.c b/fs/namespace.c |
169 |
index b4febb2..598a308 100644 |
170 |
--- a/fs/namespace.c |
171 |
+++ b/fs/namespace.c |
172 |
@@ -1508,6 +1508,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, |
173 |
} |
174 |
return 0; |
175 |
} |
176 |
+EXPORT_SYMBOL(iterate_mounts); |
177 |
|
178 |
static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end) |
179 |
{ |
180 |
diff --git a/fs/notify/group.c b/fs/notify/group.c |
181 |
index 63fc294..6f4adca 100644 |
182 |
--- a/fs/notify/group.c |
183 |
+++ b/fs/notify/group.c |
184 |
@@ -22,6 +22,7 @@ |
185 |
#include <linux/srcu.h> |
186 |
#include <linux/rculist.h> |
187 |
#include <linux/wait.h> |
188 |
+#include <linux/module.h> |
189 |
|
190 |
#include <linux/fsnotify_backend.h> |
191 |
#include "fsnotify.h" |
192 |
@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group) |
193 |
if (atomic_dec_and_test(&group->refcnt)) |
194 |
fsnotify_destroy_group(group); |
195 |
} |
196 |
+EXPORT_SYMBOL(fsnotify_put_group); |
197 |
|
198 |
/* |
199 |
* Create a new fsnotify_group and hold a reference for the group returned. |
200 |
@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) |
201 |
|
202 |
return group; |
203 |
} |
204 |
+EXPORT_SYMBOL(fsnotify_alloc_group); |
205 |
diff --git a/fs/notify/mark.c b/fs/notify/mark.c |
206 |
index e14587d..be6533b 100644 |
207 |
--- a/fs/notify/mark.c |
208 |
+++ b/fs/notify/mark.c |
209 |
@@ -112,6 +112,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) |
210 |
if (atomic_dec_and_test(&mark->refcnt)) |
211 |
mark->free_mark(mark); |
212 |
} |
213 |
+EXPORT_SYMBOL(fsnotify_put_mark); |
214 |
|
215 |
/* |
216 |
* Any time a mark is getting freed we end up here. |
217 |
@@ -189,6 +190,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark) |
218 |
if (unlikely(atomic_dec_and_test(&group->num_marks))) |
219 |
fsnotify_final_destroy_group(group); |
220 |
} |
221 |
+EXPORT_SYMBOL(fsnotify_destroy_mark); |
222 |
|
223 |
void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask) |
224 |
{ |
225 |
@@ -276,6 +278,7 @@ err: |
226 |
|
227 |
return ret; |
228 |
} |
229 |
+EXPORT_SYMBOL(fsnotify_add_mark); |
230 |
|
231 |
/* |
232 |
* clear any marks in a group in which mark->flags & flags is true |
233 |
@@ -331,6 +334,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, |
234 |
atomic_set(&mark->refcnt, 1); |
235 |
mark->free_mark = free_mark; |
236 |
} |
237 |
+EXPORT_SYMBOL(fsnotify_init_mark); |
238 |
|
239 |
static int fsnotify_mark_destroy(void *ignored) |
240 |
{ |
241 |
diff --git a/fs/open.c b/fs/open.c |
242 |
index f711921..d742fc0 100644 |
243 |
--- a/fs/open.c |
244 |
+++ b/fs/open.c |
245 |
@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, |
246 |
mutex_unlock(&dentry->d_inode->i_mutex); |
247 |
return ret; |
248 |
} |
249 |
+EXPORT_SYMBOL(do_truncate); |
250 |
|
251 |
static long do_sys_truncate(const char __user *pathname, loff_t length) |
252 |
{ |
253 |
diff --git a/fs/splice.c b/fs/splice.c |
254 |
index e3569b0..9dc07b7 100644 |
255 |
--- a/fs/splice.c |
256 |
+++ b/fs/splice.c |
257 |
@@ -1109,6 +1109,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, |
258 |
|
259 |
return splice_write(pipe, out, ppos, len, flags); |
260 |
} |
261 |
+EXPORT_SYMBOL(do_splice_from); |
262 |
|
263 |
/* |
264 |
* Attempt to initiate a splice from a file to a pipe. |
265 |
@@ -1135,6 +1136,7 @@ long do_splice_to(struct file *in, loff_t *ppos, |
266 |
|
267 |
return splice_read(in, ppos, pipe, len, flags); |
268 |
} |
269 |
+EXPORT_SYMBOL(do_splice_to); |
270 |
|
271 |
/** |
272 |
* splice_direct_to_actor - splices data directly between two non-pipes |
273 |
diff --git a/security/commoncap.c b/security/commoncap.c |
274 |
index a93b3b7..024282c 100644 |
275 |
--- a/security/commoncap.c |
276 |
+++ b/security/commoncap.c |
277 |
@@ -971,3 +971,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, |
278 |
} |
279 |
return ret; |
280 |
} |
281 |
+EXPORT_SYMBOL(cap_file_mmap); |
282 |
diff --git a/security/device_cgroup.c b/security/device_cgroup.c |
283 |
index 4450fbe..2c437e5 100644 |
284 |
--- a/security/device_cgroup.c |
285 |
+++ b/security/device_cgroup.c |
286 |
@@ -500,6 +500,7 @@ found: |
287 |
|
288 |
return -EPERM; |
289 |
} |
290 |
+EXPORT_SYMBOL(__devcgroup_inode_permission); |
291 |
|
292 |
int devcgroup_inode_mknod(int mode, dev_t dev) |
293 |
{ |
294 |
diff --git a/security/security.c b/security/security.c |
295 |
index d9e1533..466ee5c 100644 |
296 |
--- a/security/security.c |
297 |
+++ b/security/security.c |
298 |
@@ -373,6 +373,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) |
299 |
return 0; |
300 |
return security_ops->path_rmdir(dir, dentry); |
301 |
} |
302 |
+EXPORT_SYMBOL(security_path_rmdir); |
303 |
|
304 |
int security_path_unlink(struct path *dir, struct dentry *dentry) |
305 |
{ |
306 |
@@ -389,6 +390,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, |
307 |
return 0; |
308 |
return security_ops->path_symlink(dir, dentry, old_name); |
309 |
} |
310 |
+EXPORT_SYMBOL(security_path_symlink); |
311 |
|
312 |
int security_path_link(struct dentry *old_dentry, struct path *new_dir, |
313 |
struct dentry *new_dentry) |
314 |
@@ -397,6 +399,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, |
315 |
return 0; |
316 |
return security_ops->path_link(old_dentry, new_dir, new_dentry); |
317 |
} |
318 |
+EXPORT_SYMBOL(security_path_link); |
319 |
|
320 |
int security_path_rename(struct path *old_dir, struct dentry *old_dentry, |
321 |
struct path *new_dir, struct dentry *new_dentry) |
322 |
@@ -415,6 +418,7 @@ int security_path_truncate(struct path *path) |
323 |
return 0; |
324 |
return security_ops->path_truncate(path); |
325 |
} |
326 |
+EXPORT_SYMBOL(security_path_truncate); |
327 |
|
328 |
int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, |
329 |
mode_t mode) |
330 |
@@ -423,6 +427,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, |
331 |
return 0; |
332 |
return security_ops->path_chmod(dentry, mnt, mode); |
333 |
} |
334 |
+EXPORT_SYMBOL(security_path_chmod); |
335 |
|
336 |
int security_path_chown(struct path *path, uid_t uid, gid_t gid) |
337 |
{ |
338 |
@@ -430,6 +435,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) |
339 |
return 0; |
340 |
return security_ops->path_chown(path, uid, gid); |
341 |
} |
342 |
+EXPORT_SYMBOL(security_path_chown); |
343 |
|
344 |
int security_path_chroot(struct path *path) |
345 |
{ |
346 |
@@ -506,6 +512,7 @@ int security_inode_readlink(struct dentry *dentry) |
347 |
return 0; |
348 |
return security_ops->inode_readlink(dentry); |
349 |
} |
350 |
+EXPORT_SYMBOL(security_inode_readlink); |
351 |
|
352 |
int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) |
353 |
{ |
354 |
@@ -520,6 +527,7 @@ int security_inode_permission(struct inode *inode, int mask) |
355 |
return 0; |
356 |
return security_ops->inode_permission(inode, mask); |
357 |
} |
358 |
+EXPORT_SYMBOL(security_inode_permission); |
359 |
|
360 |
int security_inode_setattr(struct dentry *dentry, struct iattr *attr) |
361 |
{ |
362 |
@@ -619,6 +627,7 @@ int security_file_permission(struct file *file, int mask) |
363 |
|
364 |
return fsnotify_perm(file, mask); |
365 |
} |
366 |
+EXPORT_SYMBOL(security_file_permission); |
367 |
|
368 |
int security_file_alloc(struct file *file) |
369 |
{ |
370 |
@@ -646,6 +655,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot, |
371 |
return ret; |
372 |
return ima_file_mmap(file, prot); |
373 |
} |
374 |
+EXPORT_SYMBOL(security_file_mmap); |
375 |
|
376 |
int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, |
377 |
unsigned long prot) |
378 |
|
379 |
|
380 |
|
381 |
1.1 sys-fs/aufs3/files/aufs-util-31.patch |
382 |
|
383 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs-util-31.patch?rev=1.1&view=markup |
384 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/aufs3/files/aufs-util-31.patch?rev=1.1&content-type=text/plain |
385 |
|
386 |
Index: aufs-util-31.patch |
387 |
=================================================================== |
388 |
diff --git a/ver.c b/ver.c |
389 |
index 1225bf6..921005f 100644 |
390 |
--- a/ver.c |
391 |
+++ b/ver.c |
392 |
@@ -1,5 +1,5 @@ |
393 |
/* |
394 |
- * Copyright (C) 2010 Junjiro R. Okajima |
395 |
+ * Copyright (C) 2011 Junjiro R. Okajima |
396 |
* |
397 |
* This program, aufs is free software; you can redistribute it and/or modify |
398 |
* it under the terms of the GNU General Public License as published by |
399 |
@@ -17,15 +17,20 @@ |
400 |
*/ |
401 |
|
402 |
#include <linux/aufs_type.h> |
403 |
+#include <regex.h> |
404 |
#include <stdio.h> |
405 |
#include <string.h> |
406 |
#include "au_util.h" |
407 |
|
408 |
int main(int argc, char *argv[]) |
409 |
{ |
410 |
- if (!strncmp(AUFS_VERSION, "3.0", 3) |
411 |
- && (sizeof(AUFS_VERSION) - 1 == 3 |
412 |
- || AUFS_VERSION[3] == '-')) |
413 |
+ regex_t preg; |
414 |
+ const char *pat = "^3\\.[01](-|$)"; |
415 |
+ |
416 |
+ if (regcomp(&preg, pat, REG_EXTENDED | REG_NOSUB)) |
417 |
+ AuFin("regcomp"); |
418 |
+ |
419 |
+ if (!regexec(&preg, AUFS_VERSION, 0, NULL, 0)) |
420 |
return 0; |
421 |
|
422 |
puts("Wrong version!\n" |