summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/aufs-sources/files')
-rw-r--r--sys-kernel/aufs-sources/files/README.gentoo21
-rw-r--r--sys-kernel/aufs-sources/files/README.gentoo-r121
-rw-r--r--sys-kernel/aufs-sources/files/aufs-sources-3.10.26-mmap-aufs3.patch38
-rw-r--r--sys-kernel/aufs-sources/files/aufs-sources-3.12.7-mmap-aufs3.patch38
4 files changed, 118 insertions, 0 deletions
diff --git a/sys-kernel/aufs-sources/files/README.gentoo b/sys-kernel/aufs-sources/files/README.gentoo
new file mode 100644
index 000000000000..d9afb84f74a6
--- /dev/null
+++ b/sys-kernel/aufs-sources/files/README.gentoo
@@ -0,0 +1,21 @@
+
+There several other patches in aufs3.
+They are all optional. When you meet some problems, they will help you. You
+can find them in the documentation directory.
+
+ - aufs3-loopback.patch
+ Supports a nested loopback mount in a branch-fs. This patch is
+ unnecessary until aufs produces a message such like "you may want to try
+ another patch for loopback file".
+
+ - vfs-ino.patch
+ Modifies a system global kernel internal function get_next_ino() in
+ order to stop assigning 0 for an inode-number. Not directly related to
+ aufs, but recommended generally.
+
+ - tmpfs-ibitmap.patch/tmpfs-idr.patch
+ Keeps the tmpfs inode number as the lowest value. Effective to reduce
+ the size of aufs XINO files for tmpfs branch. Also it prevents the
+ duplication of inode number, which is important for backup
+ tools, aubrsync or other utilities. When you find aufs XINO files for
+ tmpfs branch growing too much, try this patch.
diff --git a/sys-kernel/aufs-sources/files/README.gentoo-r1 b/sys-kernel/aufs-sources/files/README.gentoo-r1
new file mode 100644
index 000000000000..d59b18d63cb8
--- /dev/null
+++ b/sys-kernel/aufs-sources/files/README.gentoo-r1
@@ -0,0 +1,21 @@
+
+There several other patches in aufs3.
+They are all optional. When you meet some problems, they will help you. You
+can find them in the documentation directory.
+
+ - aufs3-loopback.patch
+ Supports a nested loopback mount in a branch-fs. This patch is
+ unnecessary until aufs produces a message such like "you may want to try
+ another patch for loopback file".
+
+ - vfs-ino.patch
+ Modifies a system global kernel internal function get_next_ino() in
+ order to stop assigning 0 for an inode-number. Not directly related to
+ aufs, but recommended generally.
+
+ - tmpfs-idr.patch
+ Keeps the tmpfs inode number as the lowest value. Effective to reduce
+ the size of aufs XINO files for tmpfs branch. Also it prevents the
+ duplication of inode number, which is important for backup
+ tools, aubrsync or other utilities. When you find aufs XINO files for
+ tmpfs branch growing too much, try this patch.
diff --git a/sys-kernel/aufs-sources/files/aufs-sources-3.10.26-mmap-aufs3.patch b/sys-kernel/aufs-sources/files/aufs-sources-3.10.26-mmap-aufs3.patch
new file mode 100644
index 000000000000..48f4da5ac714
--- /dev/null
+++ b/sys-kernel/aufs-sources/files/aufs-sources-3.10.26-mmap-aufs3.patch
@@ -0,0 +1,38 @@
+ aufs3-mmap.patch | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+diff --git a/aufs3-mmap.patch b/aufs3-mmap.patch
+index 398253b..d9b413c 100644
+--- a/aufs3-mmap.patch
++++ b/aufs3-mmap.patch
+@@ -215,24 +215,19 @@ index 7905fe7..94cc777 100644
+ if (page->mapping != inode->i_mapping) {
+ unlock_page(page);
+ diff --git a/mm/fremap.c b/mm/fremap.c
+-index 87da359..92bb6f2 100644
++index bbc4d66..7deee2c 100644
+ --- a/mm/fremap.c
+ +++ b/mm/fremap.c
+-@@ -202,11 +202,12 @@ 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;
++@@ -211,7 +211,9 @@ get_write_lock:
++ /* mmap_region may free vma; grab the info now */
++ vm_flags = vma->vm_flags;
+
+ + vma_get_file(vma);
+- addr = mmap_region(file, start, size,
+- vma->vm_flags, pgoff);
+-- fput(file);
++ addr = mmap_region(file, start, size, vm_flags, pgoff);
+ + vma_fput(vma);
++ fput(file);
+ if (IS_ERR_VALUE(addr)) {
+ err = addr;
+- } else {
+ diff --git a/mm/madvise.c b/mm/madvise.c
+ index 7055883..e6b768d 100644
+ --- a/mm/madvise.c
diff --git a/sys-kernel/aufs-sources/files/aufs-sources-3.12.7-mmap-aufs3.patch b/sys-kernel/aufs-sources/files/aufs-sources-3.12.7-mmap-aufs3.patch
new file mode 100644
index 000000000000..b4f7335a915b
--- /dev/null
+++ b/sys-kernel/aufs-sources/files/aufs-sources-3.12.7-mmap-aufs3.patch
@@ -0,0 +1,38 @@
+ aufs3-mmap.patch | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+diff --git a/aufs3-mmap.patch b/aufs3-mmap.patch
+index acebfa8..8682a6d 100644
+--- a/aufs3-mmap.patch
++++ b/aufs3-mmap.patch
+@@ -215,24 +215,19 @@ index ae4846f..3f890ee 100644
+ if (page->mapping != inode->i_mapping) {
+ unlock_page(page);
+ diff --git a/mm/fremap.c b/mm/fremap.c
+-index 5bff081..246a9c7 100644
++index bbc4d66..7deee2c 100644
+ --- a/mm/fremap.c
+ +++ b/mm/fremap.c
+-@@ -207,11 +207,12 @@ 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;
++@@ -211,7 +211,9 @@ get_write_lock:
++ /* mmap_region may free vma; grab the info now */
++ vm_flags = vma->vm_flags;
+
+ + vma_get_file(vma);
+- addr = mmap_region(file, start, size,
+- vma->vm_flags, pgoff);
+-- fput(file);
++ addr = mmap_region(file, start, size, vm_flags, pgoff);
+ + vma_fput(vma);
++ fput(file);
+ if (IS_ERR_VALUE(addr)) {
+ err = addr;
+- } else {
+ diff --git a/mm/madvise.c b/mm/madvise.c
+ index 539eeb9..5e700b1 100644
+ --- a/mm/madvise.c