aufs: Update to aufs3.x-rcN-20140714 and reenable

svn path=/dists/trunk/linux/; revision=21549
This commit is contained in:
Ben Hutchings 2014-07-15 13:55:10 +00:00
parent 8166c80631
commit 8c0bc75762
8 changed files with 1092 additions and 912 deletions

18
debian/changelog vendored
View File

@ -1,7 +1,25 @@
linux (3.16~rc5-1~exp1) UNRELEASED; urgency=medium
[ maximilian attems ]
* New upstream rc
[ Ben Hutchings ]
* aufs: Update to aufs3.x-rcN-20140714:
- tiny, no msg in spinlock regeion
- minor bugfix, correct error value in link(2)
- O_TMPFILE support
- bugfix, handling an error in opening a FIFO
- propagate aufs file references to new vmas created by remap_file_pages()
- begin supporting fallocate(2)
- linux-3.16, convert iovec into iov_iter
- allow an unprivileged mount under user_ns (enabled by module parameter)
- simply handing attribute string
- add mount option for copy-up on open
- add mount option for move-up on open
- add dirperm1 mount option
- mvdown, return a subset of statfs(2) optionally
- mvdown, tell about the branch is at the bottom
-- maximilian attems <maks@debian.org> Thu, 10 Jul 2014 16:02:29 +0200
linux (3.15.5-1~exp1) experimental; urgency=medium

View File

@ -4225,7 +4225,6 @@ CONFIG_AUFS_BRANCH_MAX_127=y
# CONFIG_AUFS_HNOTIFY is not set
CONFIG_AUFS_EXPORT=y
# CONFIG_AUFS_RDU is not set
# CONFIG_AUFS_SP_IATTR is not set
# CONFIG_AUFS_SHWH is not set
# CONFIG_AUFS_BR_RAMFS is not set
# CONFIG_AUFS_BR_FUSE is not set

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,15 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Apr 15 12:26:44 2014 +0900
Date: Mon Jun 30 09:36:40 2014 +0900
Subject: aufs3.x-rcN base patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/8803c2d8d64effad56733f141431af5a2491b19f/tree/
Bug-Debian: http://bugs.debian.org/541828
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/501539c2f9478ef69fa42acfb43ef1420d9bb524/tree/
Bug-Debian: https://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.x-rcN base patch
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index f70a230..138104b 100644
index 6cb1beb..30efd68 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -692,6 +692,24 @@ static inline int is_loop_device(struct file *file)
@ -38,7 +38,7 @@ index f70a230..138104b 100644
static ssize_t loop_attr_show(struct device *dev, char *page,
diff --git a/fs/inode.c b/fs/inode.c
index f96d2a6..2d72083 100644
index 6eecb7f..b225c0f 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1496,7 +1496,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
@ -51,10 +51,10 @@ index f96d2a6..2d72083 100644
if (inode->i_op->update_time)
return inode->i_op->update_time(inode, time, flags);
diff --git a/fs/splice.c b/fs/splice.c
index 9bc07d2..897bde2 100644
index f5cb9ba..9ba380c 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1103,8 +1103,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
@@ -1114,8 +1114,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
/*
* Attempt to initiate a splice from pipe to file.
*/
@ -65,7 +65,7 @@ index 9bc07d2..897bde2 100644
{
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
loff_t *, size_t, unsigned int);
@@ -1120,9 +1120,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -1131,9 +1131,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
/*
* Attempt to initiate a splice from a file to a pipe.
*/
@ -79,10 +79,10 @@ index 9bc07d2..897bde2 100644
ssize_t (*splice_read)(struct file *, loff_t *,
struct pipe_inode_info *, size_t, unsigned int);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 7a9c5bc..ab5e957 100644
index e11d60c..2f32b35 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2606,6 +2606,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *);
@@ -2618,6 +2618,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *);
extern int inode_newsize_ok(const struct inode *, loff_t offset);
extern void setattr_copy(struct inode *inode, const struct iattr *attr);
@ -91,10 +91,10 @@ index 7a9c5bc..ab5e957 100644
extern int generic_show_options(struct seq_file *m, struct dentry *root);
diff --git a/include/linux/splice.h b/include/linux/splice.h
index 0e43906..304169e 100644
index da2751d..2e0fca6 100644
--- a/include/linux/splice.h
+++ b/include/linux/splice.h
@@ -93,4 +93,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *);
@@ -83,4 +83,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *);
extern void spd_release_page(struct splice_pipe_desc *, unsigned int);
extern const struct pipe_buf_operations page_cache_pipe_buf_ops;

View File

@ -1,8 +1,8 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Thu Apr 10 21:15:16 2014 +0900
Date: Sun Jun 15 19:47:55 2014 +0900
Subject: aufs3.x-rcN kbuild patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/8803c2d8d64effad56733f141431af5a2491b19f/tree/
Bug-Debian: http://bugs.debian.org/541828
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/501539c2f9478ef69fa42acfb43ef1420d9bb524/tree/
Bug-Debian: https://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch
@ -21,16 +21,16 @@ index 312393f..78632ed 100644
endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile
index f9cb987..a0c580f 100644
index 4030cbf..5bd169a 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -126,3 +126,4 @@ obj-y += exofs/ # Multiple modules
@@ -125,3 +125,4 @@ obj-y += exofs/ # Multiple modules
obj-$(CONFIG_CEPH_FS) += ceph/
obj-$(CONFIG_PSTORE) += pstore/
obj-$(CONFIG_EFIVAR_FS) += efivarfs/
+obj-$(CONFIG_AUFS_FS) += aufs/
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index 6929571..351ca48 100644
index 24e9033..fe9a8d4 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -56,6 +56,7 @@ header-y += atmppp.h

View File

@ -1,18 +1,18 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Apr 15 12:26:44 2014 +0900
Date: Thu Jul 10 02:32:20 2014 +0900
Subject: aufs3.x-rcN mmap patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/8803c2d8d64effad56733f141431af5a2491b19f/tree/
Bug-Debian: http://bugs.debian.org/541828
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/501539c2f9478ef69fa42acfb43ef1420d9bb524/tree/
Bug-Debian: https://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.x-rcN mmap patch
diff --git a/fs/buffer.c b/fs/buffer.c
index 9ddb9fc..1059a0b 100644
index eba6e4f..31f0b2d 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2448,7 +2448,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
@@ -2460,7 +2460,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
* Update file times before taking page lock. We may end up failing the
* fault so this update may be superfluous but who really cares...
*/
@ -22,60 +22,64 @@ index 9ddb9fc..1059a0b 100644
ret = __block_page_mkwrite(vma, vmf, get_block);
sb_end_pagefault(sb);
diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c
index d4a3574..e44a744 100644
index d4a3574..1397181 100644
--- a/fs/proc/nommu.c
+++ b/fs/proc/nommu.c
@@ -45,7 +45,9 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region)
@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region)
file = region->vm_file;
if (file) {
- struct inode *inode = file_inode(region->vm_file);
+ struct inode *inode;
+
+ file = vmr_pr_or_file(region);
+ inode = file_inode(file);
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
}
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 442177b..2fd6081d 100644
index cfa63ee..bf4919e 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -265,7 +265,9 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
@@ -265,7 +265,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
const char *name = NULL;
if (file) {
- struct inode *inode = file_inode(vma->vm_file);
+ struct inode *inode;
+
+ file = vma_pr_or_file(vma);
+ inode = file_inode(file);
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
@@ -1408,6 +1410,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
seq_printf(m, "%08lx %s", vma->vm_start, buffer);
if (file) {
+ file = vma_pr_or_file(vma);
seq_printf(m, " file=");
seq_path(m, &file->f_path, "\n\t= ");
} else if (vma->vm_start <= mm->brk && vma->vm_end >= mm->start_brk) {
@@ -1390,7 +1393,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
struct vm_area_struct *vma = v;
struct numa_maps *md = &numa_priv->md;
- struct file *file = vma->vm_file;
+ struct file *file = vma_pr_or_file(vma);
struct task_struct *task = proc_priv->task;
struct mm_struct *mm = vma->vm_mm;
struct mm_walk walk = {};
diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c
index 678455d..ad0ce45 100644
index 678455d..0ef7ef4 100644
--- a/fs/proc/task_nommu.c
+++ b/fs/proc/task_nommu.c
@@ -141,7 +141,9 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma,
@@ -141,7 +141,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma,
file = vma->vm_file;
if (file) {
- struct inode *inode = file_inode(vma->vm_file);
+ struct inode *inode;
+
+ file = vma_pr_or_file(file);
+ inode = file_inode(file);
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index bf9811e..3c727c8 100644
index e03dd29..f849643 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -18,6 +18,9 @@
@ -88,7 +92,7 @@ index bf9811e..3c727c8 100644
struct mempolicy;
struct anon_vma;
@@ -1171,6 +1174,87 @@ static inline int fixup_user_fault(struct task_struct *tsk,
@@ -1184,6 +1187,93 @@ static inline int fixup_user_fault(struct task_struct *tsk,
}
#endif
@ -111,6 +115,7 @@ index bf9811e..3c727c8 100644
+ const char func[], int line)
+{
+ struct file *f = region->vm_file, *pr = region->vm_prfile;
+
+ aufs_trace(f, pr, func, line, __func__);
+ return (f && pr) ? pr : f;
+}
@ -119,6 +124,7 @@ index bf9811e..3c727c8 100644
+ const char func[], int line)
+{
+ struct file *f = region->vm_file, *pr = region->vm_prfile;
+
+ aufs_trace(f, pr, func, line, __func__);
+ fput(f);
+ if (f && pr)
@ -129,6 +135,7 @@ index bf9811e..3c727c8 100644
+ const char func[], int line)
+{
+ struct file *f = vma->vm_file, *pr = vma->vm_prfile;
+
+ aufs_trace(f, pr, func, line, __func__);
+ file_update_time(f);
+ if (f && pr)
@ -139,6 +146,7 @@ index bf9811e..3c727c8 100644
+ const char func[], int line)
+{
+ struct file *f = vma->vm_file, *pr = vma->vm_prfile;
+
+ aufs_trace(f, pr, func, line, __func__);
+ return (f && pr) ? pr : f;
+}
@ -147,6 +155,7 @@ index bf9811e..3c727c8 100644
+ const char func[], int line)
+{
+ struct file *f = vma->vm_file, *pr = vma->vm_prfile;
+
+ aufs_trace(f, pr, func, line, __func__);
+ get_file(f);
+ if (f && pr)
@ -157,6 +166,7 @@ index bf9811e..3c727c8 100644
+ const char func[], int line)
+{
+ struct file *f = vma->vm_file, *pr = vma->vm_prfile;
+
+ aufs_trace(f, pr, func, line, __func__);
+ fput(f);
+ if (f && pr)
@ -177,7 +187,7 @@ index bf9811e..3c727c8 100644
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
void *buf, int len, int write);
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 8967e20..a57b589 100644
index 96c5750..a087ecd 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -232,6 +232,7 @@ struct vm_region {
@ -197,7 +207,7 @@ index 8967e20..a57b589 100644
#ifndef CONFIG_MMU
diff --git a/kernel/fork.c b/kernel/fork.c
index 54a8d26..dcf08b6 100644
index 6a13c46..714302c 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -416,7 +416,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
@ -210,10 +220,10 @@ index 54a8d26..dcf08b6 100644
atomic_dec(&inode->i_writecount);
mutex_lock(&mapping->i_mmap_mutex);
diff --git a/mm/filemap.c b/mm/filemap.c
index a82fbe4..f7e38b6 100644
index dafb06f..f8c0ba3 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2082,7 +2082,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
@@ -2037,7 +2037,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
int ret = VM_FAULT_LOCKED;
sb_start_pagefault(inode->i_sb);
@ -223,21 +233,42 @@ index a82fbe4..f7e38b6 100644
if (page->mapping != inode->i_mapping) {
unlock_page(page);
diff --git a/mm/fremap.c b/mm/fremap.c
index 34feba6..d857364 100644
index 72b8fa3..a00bbf0 100644
--- a/mm/fremap.c
+++ b/mm/fremap.c
@@ -227,7 +227,9 @@ get_write_lock:
@@ -224,16 +224,28 @@ get_write_lock:
*/
if (mapping_cap_account_dirty(mapping)) {
unsigned long addr;
- struct file *file = get_file(vma->vm_file);
+ struct file *file = vma->vm_file,
+ *prfile = vma->vm_prfile;
+
/* mmap_region may free vma; grab the info now */
vm_flags = vma->vm_flags;
+ vma_get_file(vma);
addr = mmap_region(file, start, size, vm_flags, pgoff);
- fput(file);
+ vma_fput(vma);
fput(file);
if (IS_ERR_VALUE(addr)) {
err = addr;
} else {
BUG_ON(addr != start);
+ if (prfile) {
+ struct vm_area_struct *new_vma;
+
+ new_vma = find_vma(mm, addr);
+ if (!new_vma->vm_prfile)
+ new_vma->vm_prfile = prfile;
+ if (new_vma != vma)
+ get_file(prfile);
+ }
err = 0;
}
goto out_freed;
diff --git a/mm/madvise.c b/mm/madvise.c
index 539eeb9..5e700b1 100644
index a402f8f..134e15d 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -327,12 +327,12 @@ static long madvise_remove(struct vm_area_struct *vma,
@ -256,10 +287,10 @@ index 539eeb9..5e700b1 100644
return error;
}
diff --git a/mm/memory.c b/mm/memory.c
index d0f0bef..1293484 100644
index d67fd9f..aa1e55d 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2785,7 +2785,7 @@ reuse:
@@ -2161,7 +2161,7 @@ reuse:
set_page_dirty_balance(dirty_page);
/* file_update_time outside page_lock */
if (vma->vm_file)
@ -269,10 +300,10 @@ index d0f0bef..1293484 100644
put_page(dirty_page);
if (page_mkwrite) {
diff --git a/mm/mmap.c b/mm/mmap.c
index b1202cf..40dd067 100644
index 129b847..869d1d7 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -250,7 +250,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
@@ -253,7 +253,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
if (vma->vm_file)
@ -281,7 +312,7 @@ index b1202cf..40dd067 100644
mpol_put(vma_policy(vma));
kmem_cache_free(vm_area_cachep, vma);
return next;
@@ -861,7 +861,7 @@ again: remove_next = 1 + (end > next->vm_end);
@@ -863,7 +863,7 @@ again: remove_next = 1 + (end > next->vm_end);
if (remove_next) {
if (file) {
uprobe_munmap(next, next->vm_start, next->vm_end);
@ -290,7 +321,7 @@ index b1202cf..40dd067 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
@@ -1641,8 +1641,8 @@ out:
@@ -1643,8 +1643,8 @@ out:
unmap_and_free_vma:
if (vm_flags & VM_DENYWRITE)
allow_write_access(file);
@ -300,7 +331,7 @@ index b1202cf..40dd067 100644
/* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
@@ -2432,7 +2432,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
@@ -2434,7 +2434,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
goto out_free_mpol;
if (new->vm_file)
@ -309,7 +340,7 @@ index b1202cf..40dd067 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2451,7 +2451,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
@@ -2453,7 +2453,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new);
if (new->vm_file)
@ -318,7 +349,7 @@ index b1202cf..40dd067 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(vma_policy(new));
@@ -2840,7 +2840,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -2842,7 +2842,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
if (anon_vma_clone(new_vma, vma))
goto out_free_mempol;
if (new_vma->vm_file)
@ -328,27 +359,30 @@ index b1202cf..40dd067 100644
new_vma->vm_ops->open(new_vma);
vma_link(mm, new_vma, prev, rb_link, rb_parent);
diff --git a/mm/msync.c b/mm/msync.c
index 632df45..02d770e 100644
index 992a167..ce1915b 100644
--- a/mm/msync.c
+++ b/mm/msync.c
@@ -80,10 +80,10 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags)
@@ -84,13 +84,13 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags)
start = vma->vm_end;
if ((flags & MS_SYNC) && file &&
(vma->vm_flags & VM_SHARED)) {
- get_file(file);
+ vma_get_file(vma);
up_read(&mm->mmap_sem);
error = vfs_fsync(file, 0);
if (vma->vm_flags & VM_NONLINEAR)
error = vfs_fsync(file, 1);
else
error = vfs_fsync_range(file, fstart, fend, 1);
- fput(file);
+ vma_fput(vma);
if (error || start >= end)
goto out;
down_read(&mm->mmap_sem);
diff --git a/mm/nommu.c b/mm/nommu.c
index 85f8d66..9f471fa 100644
index 4a852f6..b369644 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -655,7 +655,7 @@ static void __put_nommu_region(struct vm_region *region)
@@ -658,7 +658,7 @@ static void __put_nommu_region(struct vm_region *region)
up_write(&nommu_region_sem);
if (region->vm_file)
@ -357,7 +391,7 @@ index 85f8d66..9f471fa 100644
/* IO memory and memory shared directly out of the pagecache
* from ramfs/tmpfs mustn't be released here */
@@ -820,7 +820,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
@@ -823,7 +823,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
if (vma->vm_file)
@ -366,7 +400,7 @@ index 85f8d66..9f471fa 100644
put_nommu_region(vma->vm_region);
kmem_cache_free(vm_area_cachep, vma);
}
@@ -1382,7 +1382,7 @@ unsigned long do_mmap_pgoff(struct file *file,
@@ -1385,7 +1385,7 @@ unsigned long do_mmap_pgoff(struct file *file,
goto error_just_free;
}
}
@ -375,7 +409,7 @@ index 85f8d66..9f471fa 100644
kmem_cache_free(vm_region_jar, region);
region = pregion;
result = start;
@@ -1458,10 +1458,10 @@ error_just_free:
@@ -1461,10 +1461,10 @@ error_just_free:
up_write(&nommu_region_sem);
error:
if (region->vm_file)

View File

@ -1,15 +1,15 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Apr 15 12:26:44 2014 +0900
Date: Fri Jun 20 09:25:26 2014 +0900
Subject: aufs3.x-rcN standalone patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/8803c2d8d64effad56733f141431af5a2491b19f/tree/
Bug-Debian: http://bugs.debian.org/541828
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/501539c2f9478ef69fa42acfb43ef1420d9bb524/tree/
Bug-Debian: https://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.x-rcN standalone patch
diff --git a/fs/inode.c b/fs/inode.c
index 2d72083..30b69da 100644
index b225c0f..73259c8 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -57,6 +57,7 @@ static struct hlist_head *inode_hashtable __read_mostly;
@ -85,7 +85,7 @@ index ad19959..adf290d 100644
int fsnotify_fasync(int fd, struct file *file, int on)
{
diff --git a/fs/notify/mark.c b/fs/notify/mark.c
index 923fe4a..176b435 100644
index d90deaa..60b4239 100644
--- a/fs/notify/mark.c
+++ b/fs/notify/mark.c
@@ -109,6 +109,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
@ -121,7 +121,7 @@ index 923fe4a..176b435 100644
static int fsnotify_mark_destroy(void *ignored)
{
diff --git a/fs/open.c b/fs/open.c
index 3d30eb1..311c320 100644
index 36662d0..9a7e1e0 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -62,6 +62,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
@ -132,11 +132,19 @@ index 3d30eb1..311c320 100644
long vfs_truncate(struct path *path, loff_t length)
{
@@ -299,6 +300,7 @@ int do_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
sb_end_write(inode->i_sb);
return ret;
}
+EXPORT_SYMBOL_GPL(do_fallocate);
SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
{
diff --git a/fs/splice.c b/fs/splice.c
index 897bde2..ecf04e0 100644
index 9ba380c..3419932 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1116,6 +1116,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -1127,6 +1127,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
return splice_write(pipe, out, ppos, len, flags);
}
@ -144,7 +152,7 @@ index 897bde2..ecf04e0 100644
/*
* Attempt to initiate a splice from a file to a pipe.
@@ -1142,6 +1143,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
@@ -1153,6 +1154,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
return splice_read(in, ppos, pipe, len, flags);
}
@ -169,7 +177,7 @@ index b9d613e..ba3b618 100644
}
+EXPORT_SYMBOL_GPL(cap_mmap_file);
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index 8365909..20b0098 100644
index d9d69e6..3f6f471 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
@@ -7,6 +7,7 @@
@ -180,7 +188,7 @@ index 8365909..20b0098 100644
#include <linux/list.h>
#include <linux/uaccess.h>
#include <linux/seq_file.h>
@@ -740,6 +741,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask)
@@ -849,6 +850,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask)
return __devcgroup_check_permission(type, imajor(inode), iminor(inode),
access);
}
@ -189,7 +197,7 @@ index 8365909..20b0098 100644
int devcgroup_inode_mknod(int mode, dev_t dev)
{
diff --git a/security/security.c b/security/security.c
index 8b774f3..e3190b9 100644
index 31614e9..b223a66 100644
--- a/security/security.c
+++ b/security/security.c
@@ -407,6 +407,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)

12
debian/patches/series vendored
View File

@ -19,13 +19,13 @@ bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
# Patches and source files from aufs3 repository, imported with
# debian/patches/features/all/aufs3/gen-patch.
#features/all/aufs3/aufs3-kbuild.patch
#features/all/aufs3/aufs3-base.patch
#features/all/aufs3/aufs3-mmap.patch
#features/all/aufs3/aufs3-standalone.patch
#features/all/aufs3/aufs3-add.patch
features/all/aufs3/aufs3-kbuild.patch
features/all/aufs3/aufs3-base.patch
features/all/aufs3/aufs3-mmap.patch
features/all/aufs3/aufs3-standalone.patch
features/all/aufs3/aufs3-add.patch
# Debian-specific changes
#debian/aufs3-mark-as-staging.patch
debian/aufs3-mark-as-staging.patch
# Change some defaults for security reasons
debian/af_802154-Disable-auto-loading-as-mitigation-against.patch