aufs: Update to aufs3.x-rcN-20140310

svn path=/dists/trunk/linux/; revision=21139
This commit is contained in:
Ben Hutchings 2014-03-15 14:34:25 +00:00
parent 5605d9f15a
commit 4b183a0329
6 changed files with 90 additions and 102 deletions

2
debian/changelog vendored
View File

@ -2,6 +2,8 @@ linux (3.14~rc5-1~exp2) UNRELEASED; urgency=medium
* bfa,bna: Replace large udelay() with mdelay() (fixes FTBFS on arm) * bfa,bna: Replace large udelay() with mdelay() (fixes FTBFS on arm)
(Closes: #741142) (Closes: #741142)
* aufs: Update to aufs3.x-rcN-20140310
- bugfix, Fix unmount to properly free anonymous block devices
-- Ben Hutchings <ben@decadent.org.uk> Sun, 09 Mar 2014 04:08:15 +0000 -- Ben Hutchings <ben@decadent.org.uk> Sun, 09 Mar 2014 04:08:15 +0000

View File

@ -1,13 +1,13 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp> From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Jan 21 15:32:38 2014 +0900 Date: Tue Mar 4 16:25:00 2014 +0900
Subject: aufs3.13-20140127 Subject: aufs3.x-rcN-20140310
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/5bc28eeb80b3ea7bf377f15ffd4b07863160e665/tree/ Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/c8c0d1456c246f69639c9c9c6b62fa389f8b2eb5/tree/
Bug-Debian: http://bugs.debian.org/541828 Bug-Debian: http://bugs.debian.org/541828
Patch generated by debian/patches/features/all/aufs3/gen-patch Patch generated by debian/patches/features/all/aufs3/gen-patch
--- a/Documentation/ABI/testing/debugfs-aufs 1970-01-01 01:00:00.000000000 +0100 --- a/Documentation/ABI/testing/debugfs-aufs 1970-01-01 01:00:00.000000000 +0100
+++ b/Documentation/ABI/testing/debugfs-aufs 2014-02-23 23:54:38.779682273 +0000 +++ b/Documentation/ABI/testing/debugfs-aufs 2014-03-13 00:59:36.872223577 +0000
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
+What: /debug/aufs/si_<id>/ +What: /debug/aufs/si_<id>/
+Date: March 2009 +Date: March 2009
@ -60,7 +60,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ When the aufs mount option 'noxino' is specified, it + When the aufs mount option 'noxino' is specified, it
+ will be empty. About XINO files, see the aufs manual. + will be empty. About XINO files, see the aufs manual.
--- a/Documentation/ABI/testing/sysfs-aufs 1970-01-01 01:00:00.000000000 +0100 --- a/Documentation/ABI/testing/sysfs-aufs 1970-01-01 01:00:00.000000000 +0100
+++ b/Documentation/ABI/testing/sysfs-aufs 2014-02-23 23:54:38.779682273 +0000 +++ b/Documentation/ABI/testing/sysfs-aufs 2014-03-13 00:59:36.872223577 +0000
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
+What: /sys/fs/aufs/si_<id>/ +What: /sys/fs/aufs/si_<id>/
+Date: March 2009 +Date: March 2009
@ -6213,7 +6213,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+#endif /* __KERNEL__ */ +#endif /* __KERNEL__ */
+#endif /* __AUFS_DEBUG_H__ */ +#endif /* __AUFS_DEBUG_H__ */
--- a/fs/aufs/dentry.c 1970-01-01 01:00:00.000000000 +0100 --- a/fs/aufs/dentry.c 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/dentry.c 2014-02-23 23:54:38.779682273 +0000 +++ b/fs/aufs/dentry.c 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,1081 @@ @@ -0,0 +1,1081 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
@ -8078,7 +8078,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ return -1; + return -1;
+} +}
--- a/fs/aufs/dir.c 1970-01-01 01:00:00.000000000 +0100 --- a/fs/aufs/dir.c 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/dir.c 2014-02-23 23:54:38.779682273 +0000 +++ b/fs/aufs/dir.c 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,639 @@ @@ -0,0 +1,639 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
@ -12932,8 +12932,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+#endif /* __KERNEL__ */ +#endif /* __KERNEL__ */
+#endif /* __AUFS_FSTYPE_H__ */ +#endif /* __AUFS_FSTYPE_H__ */
--- a/fs/aufs/hfsnotify.c 1970-01-01 01:00:00.000000000 +0100 --- a/fs/aufs/hfsnotify.c 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/hfsnotify.c 2014-01-20 03:24:33.512760970 +0000 +++ b/fs/aufs/hfsnotify.c 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,295 @@ @@ -0,0 +1,281 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
+ * + *
@ -13093,27 +13093,27 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+} +}
+ +
+static int au_hfsn_handle_event(struct fsnotify_group *group, +static int au_hfsn_handle_event(struct fsnotify_group *group,
+ struct inode *inode,
+ struct fsnotify_mark *inode_mark, + struct fsnotify_mark *inode_mark,
+ struct fsnotify_mark *vfsmount_mark, + struct fsnotify_mark *vfsmount_mark,
+ struct fsnotify_event *event) + u32 mask, void *data, int data_type,
+ const unsigned char *file_name, u32 cookie)
+{ +{
+ int err; + int err;
+ struct au_hnotify *hnotify; + struct au_hnotify *hnotify;
+ struct inode *h_dir, *h_inode; + struct inode *h_dir, *h_inode;
+ __u32 mask; + struct qstr h_child_qstr = QSTR_INIT(file_name, strlen(file_name));
+ struct qstr h_child_qstr = QSTR_INIT(event->file_name, event->name_len);
+ +
+ AuDebugOn(event->data_type != FSNOTIFY_EVENT_INODE); + AuDebugOn(data_type != FSNOTIFY_EVENT_INODE);
+ +
+ err = 0; + err = 0;
+ /* if FS_UNMOUNT happens, there must be another bug */ + /* if FS_UNMOUNT happens, there must be another bug */
+ mask = event->mask;
+ AuDebugOn(mask & FS_UNMOUNT); + AuDebugOn(mask & FS_UNMOUNT);
+ if (mask & (FS_IN_IGNORED | FS_UNMOUNT)) + if (mask & (FS_IN_IGNORED | FS_UNMOUNT))
+ goto out; + goto out;
+ +
+ h_dir = event->to_tell; + h_dir = inode;
+ h_inode = event->inode; + h_inode = NULL;
+#ifdef AuDbgHnotify +#ifdef AuDbgHnotify
+ au_debug_on(); + au_debug_on();
+ if (1 || h_child_qstr.len != sizeof(AUFS_XINO_FNAME) - 1 + if (1 || h_child_qstr.len != sizeof(AUFS_XINO_FNAME) - 1
@ -13134,21 +13134,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ return err; + return err;
+} +}
+ +
+/* isn't it waste to ask every registered 'group'? */
+/* copied from linux/fs/notify/inotify/inotify_fsnotiry.c */
+/* it should be exported to modules */
+static bool au_hfsn_should_send_event(struct fsnotify_group *group,
+ struct inode *h_inode,
+ struct fsnotify_mark *inode_mark,
+ struct fsnotify_mark *vfsmount_mark,
+ __u32 mask, void *data, int data_type)
+{
+ mask = (mask & ~FS_EVENT_ON_CHILD);
+ return inode_mark->mask & mask;
+}
+
+static struct fsnotify_ops au_hfsn_ops = { +static struct fsnotify_ops au_hfsn_ops = {
+ .should_send_event = au_hfsn_should_send_event,
+ .handle_event = au_hfsn_handle_event, + .handle_event = au_hfsn_handle_event,
+ .free_group_priv = au_hfsn_free_group + .free_group_priv = au_hfsn_free_group
+}; +};
@ -13289,7 +13275,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ } + }
+} +}
--- a/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100 --- a/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/hnotify.c 2014-02-23 23:54:38.783682273 +0000 +++ b/fs/aufs/hnotify.c 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,710 @@ @@ -0,0 +1,710 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
@ -13877,7 +13863,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ au_fset_hnjob(flags[AuHn_CHILD], MNTPNT); + au_fset_hnjob(flags[AuHn_CHILD], MNTPNT);
+ /*FALLTHROUGH*/ + /*FALLTHROUGH*/
+ case FS_CREATE: + case FS_CREATE:
+ AuDebugOn(!h_child_name || !h_child_inode); + AuDebugOn(!h_child_name);
+ break; + break;
+ +
+ case FS_DELETE: + case FS_DELETE:
@ -14002,7 +13988,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ au_hn_destroy_cache(); + au_hn_destroy_cache();
+} +}
--- a/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100 --- a/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/i_op.c 2014-02-23 23:54:38.783682273 +0000 +++ b/fs/aufs/i_op.c 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,1127 @@ @@ -0,0 +1,1127 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
@ -20221,7 +20207,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ return err; + return err;
+} +}
--- a/fs/aufs/opts.c 1970-01-01 01:00:00.000000000 +0100 --- a/fs/aufs/opts.c 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/opts.c 2014-02-23 23:54:38.783682273 +0000 +++ b/fs/aufs/opts.c 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,1701 @@ @@ -0,0 +1,1701 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
@ -23952,7 +23938,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+#endif /* __KERNEL__ */ +#endif /* __KERNEL__ */
+#endif /* __AUFS_SPL_H__ */ +#endif /* __AUFS_SPL_H__ */
--- a/fs/aufs/super.c 1970-01-01 01:00:00.000000000 +0100 --- a/fs/aufs/super.c 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/super.c 2014-01-20 03:24:33.516760970 +0000 +++ b/fs/aufs/super.c 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,1001 @@ @@ -0,0 +1,1001 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
@ -24943,7 +24929,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ aufs_write_unlock(sb->s_root); + aufs_write_unlock(sb->s_root);
+ au_nwt_flush(&sbinfo->si_nowait); + au_nwt_flush(&sbinfo->si_nowait);
+ } + }
+ generic_shutdown_super(sb); + kill_anon_super(sb);
+} +}
+ +
+struct file_system_type aufs_fs_type = { +struct file_system_type aufs_fs_type = {
@ -31688,7 +31674,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ return err; + return err;
+} +}
--- a/include/uapi/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100 --- a/include/uapi/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100
+++ b/include/uapi/linux/aufs_type.h 2014-02-23 23:54:38.783682273 +0000 +++ b/include/uapi/linux/aufs_type.h 2014-03-13 00:59:36.876223577 +0000
@@ -0,0 +1,281 @@ @@ -0,0 +1,281 @@
+/* +/*
+ * Copyright (C) 2005-2014 Junjiro R. Okajima + * Copyright (C) 2005-2014 Junjiro R. Okajima
@ -31731,7 +31717,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch
+ +
+#include <linux/limits.h> +#include <linux/limits.h>
+ +
+#define AUFS_VERSION "3.13-20140127" +#define AUFS_VERSION "3.x-rcN-20140310"
+ +
+/* todo? move this to linux-2.6.19/include/magic.h */ +/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')

View File

@ -1,18 +1,18 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp> From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Jan 21 15:32:38 2014 +0900 Date: Wed Feb 19 01:13:55 2014 +0900
Subject: aufs3.13 base patch Subject: aufs3.x-rcN base patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/5bc28eeb80b3ea7bf377f15ffd4b07863160e665/tree/ Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/c8c0d1456c246f69639c9c9c6b62fa389f8b2eb5/tree/
Bug-Debian: http://bugs.debian.org/541828 Bug-Debian: http://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.13 base patch aufs3.x-rcN base patch
diff --git a/drivers/block/loop.c b/drivers/block/loop.c diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index c8dac73..2e229ac 100644 index 66e8c3b..ec278ac 100644
--- a/drivers/block/loop.c --- a/drivers/block/loop.c
+++ b/drivers/block/loop.c +++ b/drivers/block/loop.c
@@ -691,6 +691,24 @@ static inline int is_loop_device(struct file *file) @@ -692,6 +692,24 @@ static inline int is_loop_device(struct file *file)
return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR; return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR;
} }
@ -51,10 +51,10 @@ index 4bcdad3..bc83168 100644
if (inode->i_op->update_time) if (inode->i_op->update_time)
return inode->i_op->update_time(inode, time, flags); return inode->i_op->update_time(inode, time, flags);
diff --git a/fs/splice.c b/fs/splice.c diff --git a/fs/splice.c b/fs/splice.c
index 46a08f7..719ca3e 100644 index 12028fa..f26cbaf 100644
--- a/fs/splice.c --- a/fs/splice.c
+++ b/fs/splice.c +++ b/fs/splice.c
@@ -1093,8 +1093,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); @@ -1111,8 +1111,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
/* /*
* Attempt to initiate a splice from pipe to file. * Attempt to initiate a splice from pipe to file.
*/ */
@ -65,7 +65,7 @@ index 46a08f7..719ca3e 100644
{ {
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
loff_t *, size_t, unsigned int); loff_t *, size_t, unsigned int);
@@ -1110,9 +1110,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, @@ -1128,9 +1128,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. * Attempt to initiate a splice from a file to a pipe.
*/ */
@ -79,10 +79,10 @@ index 46a08f7..719ca3e 100644
ssize_t (*splice_read)(struct file *, loff_t *, ssize_t (*splice_read)(struct file *, loff_t *,
struct pipe_inode_info *, size_t, unsigned int); struct pipe_inode_info *, size_t, unsigned int);
diff --git a/include/linux/fs.h b/include/linux/fs.h diff --git a/include/linux/fs.h b/include/linux/fs.h
index 121f11f..39bf86d 100644 index 6082956..f28435e 100644
--- a/include/linux/fs.h --- a/include/linux/fs.h
+++ b/include/linux/fs.h +++ b/include/linux/fs.h
@@ -2657,6 +2657,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *); @@ -2665,6 +2665,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *);
extern int inode_newsize_ok(const struct inode *, loff_t offset); extern int inode_newsize_ok(const struct inode *, loff_t offset);
extern void setattr_copy(struct inode *inode, const struct iattr *attr); extern void setattr_copy(struct inode *inode, const struct iattr *attr);
@ -91,10 +91,10 @@ index 121f11f..39bf86d 100644
extern int generic_show_options(struct seq_file *m, struct dentry *root); extern int generic_show_options(struct seq_file *m, struct dentry *root);
diff --git a/include/linux/splice.h b/include/linux/splice.h diff --git a/include/linux/splice.h b/include/linux/splice.h
index 74575cb..bfc6fb6 100644 index 0e43906..304169e 100644
--- a/include/linux/splice.h --- a/include/linux/splice.h
+++ b/include/linux/splice.h +++ b/include/linux/splice.h
@@ -92,4 +92,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); @@ -93,4 +93,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *);
extern void spd_release_page(struct splice_pipe_desc *, unsigned int); extern void spd_release_page(struct splice_pipe_desc *, unsigned int);
extern const struct pipe_buf_operations page_cache_pipe_buf_ops; extern const struct pipe_buf_operations page_cache_pipe_buf_ops;

View File

@ -1,18 +1,18 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp> From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Jan 21 15:32:38 2014 +0900 Date: Wed Feb 19 01:13:55 2014 +0900
Subject: aufs3.13 kbuild patch Subject: aufs3.x-rcN kbuild patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/5bc28eeb80b3ea7bf377f15ffd4b07863160e665/tree/ Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/c8c0d1456c246f69639c9c9c6b62fa389f8b2eb5/tree/
Bug-Debian: http://bugs.debian.org/541828 Bug-Debian: http://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.13 kbuild patch aufs3.x-rcN kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig diff --git a/fs/Kconfig b/fs/Kconfig
index c229f82..397b473 100644 index 7385e54..d5c769c 100644
--- a/fs/Kconfig --- a/fs/Kconfig
+++ b/fs/Kconfig +++ b/fs/Kconfig
@@ -212,6 +212,7 @@ source "fs/ufs/Kconfig" @@ -208,6 +208,7 @@ source "fs/ufs/Kconfig"
source "fs/exofs/Kconfig" source "fs/exofs/Kconfig"
source "fs/f2fs/Kconfig" source "fs/f2fs/Kconfig"
source "fs/efivarfs/Kconfig" source "fs/efivarfs/Kconfig"
@ -21,16 +21,16 @@ index c229f82..397b473 100644
endif # MISC_FILESYSTEMS endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile diff --git a/fs/Makefile b/fs/Makefile
index 4fe6df3..4a57676 100644 index 47ac07b..0c6a294 100644
--- a/fs/Makefile --- a/fs/Makefile
+++ b/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_CEPH_FS) += ceph/
obj-$(CONFIG_PSTORE) += pstore/ obj-$(CONFIG_PSTORE) += pstore/
obj-$(CONFIG_EFIVAR_FS) += efivarfs/ obj-$(CONFIG_EFIVAR_FS) += efivarfs/
+obj-$(CONFIG_AUFS_FS) += aufs/ +obj-$(CONFIG_AUFS_FS) += aufs/
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index 33d2b8f..b55eeb9 100644 index 3ce25b5..9faebdc 100644
--- a/include/uapi/linux/Kbuild --- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild
@@ -56,6 +56,7 @@ header-y += atmppp.h @@ -56,6 +56,7 @@ header-y += atmppp.h

View File

@ -1,18 +1,18 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp> From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Jan 21 15:32:38 2014 +0900 Date: Tue Mar 4 16:25:00 2014 +0900
Subject: aufs3.13 mmap patch Subject: aufs3.x-rcN mmap patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/5bc28eeb80b3ea7bf377f15ffd4b07863160e665/tree/ Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/c8c0d1456c246f69639c9c9c6b62fa389f8b2eb5/tree/
Bug-Debian: http://bugs.debian.org/541828 Bug-Debian: http://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.13 mmap patch aufs3.x-rcN mmap patch
diff --git a/fs/buffer.c b/fs/buffer.c diff --git a/fs/buffer.c b/fs/buffer.c
index 6024877..95bbf13 100644 index 27265a8..75427a6 100644
--- a/fs/buffer.c --- a/fs/buffer.c
+++ b/fs/buffer.c +++ b/fs/buffer.c
@@ -2446,7 +2446,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, @@ -2448,7 +2448,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 * Update file times before taking page lock. We may end up failing the
* fault so this update may be superfluous but who really cares... * fault so this update may be superfluous but who really cares...
*/ */
@ -22,7 +22,7 @@ index 6024877..95bbf13 100644
ret = __block_page_mkwrite(vma, vmf, get_block); ret = __block_page_mkwrite(vma, vmf, get_block);
sb_end_pagefault(sb); sb_end_pagefault(sb);
diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c
index 5f9bc8a..9ea6c3a 100644 index d4a3574..e44a744 100644
--- a/fs/proc/nommu.c --- a/fs/proc/nommu.c
+++ b/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,9 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region)
@ -75,10 +75,10 @@ index 678455d..ad0ce45 100644
ino = inode->i_ino; ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h diff --git a/include/linux/mm.h b/include/linux/mm.h
index 3552717..3c5a972 100644 index f28f46e..edfbda3 100644
--- a/include/linux/mm.h --- a/include/linux/mm.h
+++ b/include/linux/mm.h +++ b/include/linux/mm.h
@@ -17,6 +17,9 @@ @@ -18,6 +18,9 @@
#include <linux/pfn.h> #include <linux/pfn.h>
#include <linux/bit_spinlock.h> #include <linux/bit_spinlock.h>
#include <linux/shrinker.h> #include <linux/shrinker.h>
@ -88,7 +88,7 @@ index 3552717..3c5a972 100644
struct mempolicy; struct mempolicy;
struct anon_vma; struct anon_vma;
@@ -1101,6 +1104,87 @@ static inline int fixup_user_fault(struct task_struct *tsk, @@ -1142,6 +1145,87 @@ static inline int fixup_user_fault(struct task_struct *tsk,
} }
#endif #endif
@ -197,7 +197,7 @@ index 290901a..c21588b 100644
#ifndef CONFIG_MMU #ifndef CONFIG_MMU
diff --git a/kernel/fork.c b/kernel/fork.c diff --git a/kernel/fork.c b/kernel/fork.c
index dfa736c..02abdb6 100644 index a17621c..40d9f6a 100644
--- a/kernel/fork.c --- a/kernel/fork.c
+++ b/kernel/fork.c +++ b/kernel/fork.c
@@ -412,7 +412,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) @@ -412,7 +412,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
@ -210,10 +210,10 @@ index dfa736c..02abdb6 100644
atomic_dec(&inode->i_writecount); atomic_dec(&inode->i_writecount);
mutex_lock(&mapping->i_mmap_mutex); mutex_lock(&mapping->i_mmap_mutex);
diff --git a/mm/filemap.c b/mm/filemap.c diff --git a/mm/filemap.c b/mm/filemap.c
index b7749a9..a6693ca 100644 index 7a13f6a..f1805df 100644
--- a/mm/filemap.c --- a/mm/filemap.c
+++ b/mm/filemap.c +++ b/mm/filemap.c
@@ -1735,7 +1735,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) @@ -1733,7 +1733,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
int ret = VM_FAULT_LOCKED; int ret = VM_FAULT_LOCKED;
sb_start_pagefault(inode->i_sb); sb_start_pagefault(inode->i_sb);
@ -256,10 +256,10 @@ index 539eeb9..5e700b1 100644
return error; return error;
} }
diff --git a/mm/memory.c b/mm/memory.c diff --git a/mm/memory.c b/mm/memory.c
index 6768ce9..22d2cec 100644 index 22dfa61..81813d9 100644
--- a/mm/memory.c --- a/mm/memory.c
+++ b/mm/memory.c +++ b/mm/memory.c
@@ -2752,7 +2752,7 @@ reuse: @@ -2755,7 +2755,7 @@ reuse:
set_page_dirty_balance(dirty_page, page_mkwrite); set_page_dirty_balance(dirty_page, page_mkwrite);
/* file_update_time outside page_lock */ /* file_update_time outside page_lock */
if (vma->vm_file) if (vma->vm_file)
@ -268,7 +268,7 @@ index 6768ce9..22d2cec 100644
} }
put_page(dirty_page); put_page(dirty_page);
if (page_mkwrite) { if (page_mkwrite) {
@@ -3463,7 +3463,7 @@ static int __do_fault(struct mm_struct *mm, struct vm_area_struct *vma, @@ -3467,7 +3467,7 @@ static int __do_fault(struct mm_struct *mm, struct vm_area_struct *vma,
/* file_update_time outside page_lock */ /* file_update_time outside page_lock */
if (vma->vm_file && !page_mkwrite) if (vma->vm_file && !page_mkwrite)
@ -278,10 +278,10 @@ index 6768ce9..22d2cec 100644
unlock_page(vmf.page); unlock_page(vmf.page);
if (anon) if (anon)
diff --git a/mm/mmap.c b/mm/mmap.c diff --git a/mm/mmap.c b/mm/mmap.c
index 834b2d7..91f5699 100644 index 20ff0c3..f743033 100644
--- a/mm/mmap.c --- a/mm/mmap.c
+++ b/mm/mmap.c +++ b/mm/mmap.c
@@ -248,7 +248,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) @@ -249,7 +249,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
if (vma->vm_ops && vma->vm_ops->close) if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma); vma->vm_ops->close(vma);
if (vma->vm_file) if (vma->vm_file)
@ -290,7 +290,7 @@ index 834b2d7..91f5699 100644
mpol_put(vma_policy(vma)); mpol_put(vma_policy(vma));
kmem_cache_free(vm_area_cachep, vma); kmem_cache_free(vm_area_cachep, vma);
return next; return next;
@@ -858,7 +858,7 @@ again: remove_next = 1 + (end > next->vm_end); @@ -859,7 +859,7 @@ again: remove_next = 1 + (end > next->vm_end);
if (remove_next) { if (remove_next) {
if (file) { if (file) {
uprobe_munmap(next, next->vm_start, next->vm_end); uprobe_munmap(next, next->vm_start, next->vm_end);
@ -299,7 +299,7 @@ index 834b2d7..91f5699 100644
} }
if (next->anon_vma) if (next->anon_vma)
anon_vma_merge(vma, next); anon_vma_merge(vma, next);
@@ -1620,8 +1620,8 @@ out: @@ -1639,8 +1639,8 @@ out:
unmap_and_free_vma: unmap_and_free_vma:
if (vm_flags & VM_DENYWRITE) if (vm_flags & VM_DENYWRITE)
allow_write_access(file); allow_write_access(file);
@ -309,7 +309,7 @@ index 834b2d7..91f5699 100644
/* Undo any partial mapping done by a device driver. */ /* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
@@ -2410,7 +2410,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, @@ -2429,7 +2429,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
goto out_free_mpol; goto out_free_mpol;
if (new->vm_file) if (new->vm_file)
@ -318,7 +318,7 @@ index 834b2d7..91f5699 100644
if (new->vm_ops && new->vm_ops->open) if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new); new->vm_ops->open(new);
@@ -2429,7 +2429,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, @@ -2448,7 +2448,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
if (new->vm_ops && new->vm_ops->close) if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new); new->vm_ops->close(new);
if (new->vm_file) if (new->vm_file)
@ -327,7 +327,7 @@ index 834b2d7..91f5699 100644
unlink_anon_vmas(new); unlink_anon_vmas(new);
out_free_mpol: out_free_mpol:
mpol_put(vma_policy(new)); mpol_put(vma_policy(new));
@@ -2827,7 +2827,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, @@ -2837,7 +2837,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
if (anon_vma_clone(new_vma, vma)) if (anon_vma_clone(new_vma, vma))
goto out_free_mempol; goto out_free_mempol;
if (new_vma->vm_file) if (new_vma->vm_file)
@ -354,10 +354,10 @@ index 632df45..02d770e 100644
goto out; goto out;
down_read(&mm->mmap_sem); down_read(&mm->mmap_sem);
diff --git a/mm/nommu.c b/mm/nommu.c diff --git a/mm/nommu.c b/mm/nommu.c
index fec093a..b366e4c 100644 index 8740213..ea7e336 100644
--- a/mm/nommu.c --- a/mm/nommu.c
+++ b/mm/nommu.c +++ b/mm/nommu.c
@@ -652,7 +652,7 @@ static void __put_nommu_region(struct vm_region *region) @@ -653,7 +653,7 @@ static void __put_nommu_region(struct vm_region *region)
up_write(&nommu_region_sem); up_write(&nommu_region_sem);
if (region->vm_file) if (region->vm_file)
@ -366,7 +366,7 @@ index fec093a..b366e4c 100644
/* IO memory and memory shared directly out of the pagecache /* IO memory and memory shared directly out of the pagecache
* from ramfs/tmpfs mustn't be released here */ * from ramfs/tmpfs mustn't be released here */
@@ -810,7 +810,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma) @@ -811,7 +811,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
if (vma->vm_ops && vma->vm_ops->close) if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma); vma->vm_ops->close(vma);
if (vma->vm_file) if (vma->vm_file)
@ -375,7 +375,7 @@ index fec093a..b366e4c 100644
put_nommu_region(vma->vm_region); put_nommu_region(vma->vm_region);
kmem_cache_free(vm_area_cachep, vma); kmem_cache_free(vm_area_cachep, vma);
} }
@@ -1376,7 +1376,7 @@ unsigned long do_mmap_pgoff(struct file *file, @@ -1377,7 +1377,7 @@ unsigned long do_mmap_pgoff(struct file *file,
goto error_just_free; goto error_just_free;
} }
} }
@ -384,7 +384,7 @@ index fec093a..b366e4c 100644
kmem_cache_free(vm_region_jar, region); kmem_cache_free(vm_region_jar, region);
region = pregion; region = pregion;
result = start; result = start;
@@ -1452,10 +1452,10 @@ error_just_free: @@ -1453,10 +1453,10 @@ error_just_free:
up_write(&nommu_region_sem); up_write(&nommu_region_sem);
error: error:
if (region->vm_file) if (region->vm_file)

View File

@ -1,12 +1,12 @@
From: J. R. Okajima <hooanon05@yahoo.co.jp> From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Tue Jan 21 15:32:38 2014 +0900 Date: Tue Mar 4 16:25:00 2014 +0900
Subject: aufs3.13 standalone patch Subject: aufs3.x-rcN standalone patch
Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/5bc28eeb80b3ea7bf377f15ffd4b07863160e665/tree/ Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/c8c0d1456c246f69639c9c9c6b62fa389f8b2eb5/tree/
Bug-Debian: http://bugs.debian.org/541828 Bug-Debian: http://bugs.debian.org/541828
Patch headers added by debian/patches/features/all/aufs3/gen-patch Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.13 standalone patch aufs3.x-rcN standalone patch
diff --git a/fs/inode.c b/fs/inode.c diff --git a/fs/inode.c b/fs/inode.c
index bc83168..6dd1207 100644 index bc83168..6dd1207 100644
@ -29,7 +29,7 @@ index bc83168..6dd1207 100644
/** /**
* touch_atime - update the access time * touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c diff --git a/fs/namespace.c b/fs/namespace.c
index be32ebc..d3f6f59 100644 index 22e5367..6b1b43e 100644
--- a/fs/namespace.c --- a/fs/namespace.c
+++ b/fs/namespace.c +++ b/fs/namespace.c
@@ -425,6 +425,7 @@ void __mnt_drop_write(struct vfsmount *mnt) @@ -425,6 +425,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
@ -49,7 +49,7 @@ index be32ebc..d3f6f59 100644
static void cleanup_group_ids(struct mount *mnt, struct mount *end) static void cleanup_group_ids(struct mount *mnt, struct mount *end)
{ {
diff --git a/fs/notify/group.c b/fs/notify/group.c diff --git a/fs/notify/group.c b/fs/notify/group.c
index bd2625b..2ff2a0f 100644 index ad19959..adf290d 100644
--- a/fs/notify/group.c --- a/fs/notify/group.c
+++ b/fs/notify/group.c +++ b/fs/notify/group.c
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
@ -60,7 +60,7 @@ index bd2625b..2ff2a0f 100644
#include <linux/fsnotify_backend.h> #include <linux/fsnotify_backend.h>
#include "fsnotify.h" #include "fsnotify.h"
@@ -65,6 +66,7 @@ void fsnotify_get_group(struct fsnotify_group *group) @@ -72,6 +73,7 @@ void fsnotify_get_group(struct fsnotify_group *group)
{ {
atomic_inc(&group->refcnt); atomic_inc(&group->refcnt);
} }
@ -68,7 +68,7 @@ index bd2625b..2ff2a0f 100644
/* /*
* Drop a reference to a group. Free it if it's through. * Drop a reference to a group. Free it if it's through.
@@ -74,6 +76,7 @@ void fsnotify_put_group(struct fsnotify_group *group) @@ -81,6 +83,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
if (atomic_dec_and_test(&group->refcnt)) if (atomic_dec_and_test(&group->refcnt))
fsnotify_final_destroy_group(group); fsnotify_final_destroy_group(group);
} }
@ -76,7 +76,7 @@ index bd2625b..2ff2a0f 100644
/* /*
* Create a new fsnotify_group and hold a reference for the group returned. * Create a new fsnotify_group and hold a reference for the group returned.
@@ -102,6 +105,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) @@ -109,6 +112,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
return group; return group;
} }
@ -133,10 +133,10 @@ index 4b3e1ed..ce49f2b 100644
long vfs_truncate(struct path *path, loff_t length) long vfs_truncate(struct path *path, loff_t length)
{ {
diff --git a/fs/splice.c b/fs/splice.c diff --git a/fs/splice.c b/fs/splice.c
index 719ca3e..6300dc8 100644 index f26cbaf..ac02366 100644
--- a/fs/splice.c --- a/fs/splice.c
+++ b/fs/splice.c +++ b/fs/splice.c
@@ -1106,6 +1106,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, @@ -1124,6 +1124,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
return splice_write(pipe, out, ppos, len, flags); return splice_write(pipe, out, ppos, len, flags);
} }
@ -144,7 +144,7 @@ index 719ca3e..6300dc8 100644
/* /*
* Attempt to initiate a splice from a file to a pipe. * Attempt to initiate a splice from a file to a pipe.
@@ -1132,6 +1133,7 @@ long do_splice_to(struct file *in, loff_t *ppos, @@ -1150,6 +1151,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
return splice_read(in, ppos, pipe, len, flags); return splice_read(in, ppos, pipe, len, flags);
} }
@ -169,7 +169,7 @@ index b9d613e..ba3b618 100644
} }
+EXPORT_SYMBOL_GPL(cap_mmap_file); +EXPORT_SYMBOL_GPL(cap_mmap_file);
diff --git a/security/device_cgroup.c b/security/device_cgroup.c diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index 7c2a0a7..a37c054 100644 index d3b6d2c..5076912 100644
--- a/security/device_cgroup.c --- a/security/device_cgroup.c
+++ b/security/device_cgroup.c +++ b/security/device_cgroup.c
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
@ -180,7 +180,7 @@ index 7c2a0a7..a37c054 100644
#include <linux/list.h> #include <linux/list.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
@@ -745,6 +746,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask) @@ -744,6 +745,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask)
return __devcgroup_check_permission(type, imajor(inode), iminor(inode), return __devcgroup_check_permission(type, imajor(inode), iminor(inode),
access); access);
} }