From 77406ae6b9011d089e6bd46a1029150076c03123 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 6 Nov 2014 22:24:55 +0000 Subject: [PATCH] aufs: Update to aufs3.17-20141020 svn path=/dists/trunk/linux/; revision=22056 --- debian/changelog | 4 + .../features/all/aufs3/aufs3-add.patch | 99 +++++++------------ .../features/all/aufs3/aufs3-base.patch | 12 +-- .../features/all/aufs3/aufs3-kbuild.patch | 10 +- .../features/all/aufs3/aufs3-mmap.patch | 37 ++++--- .../features/all/aufs3/aufs3-standalone.patch | 12 +-- 6 files changed, 81 insertions(+), 93 deletions(-) diff --git a/debian/changelog b/debian/changelog index d9669bd4c..7150f3d1d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,10 @@ linux (3.17.2-1~exp1) UNRELEASED; urgency=medium [ Ben Hutchings ] * Set ABI to trunk + * aufs: Update to aufs3.17-20141020: + - support for AT_EMPTY_PATH/LOOKUP_EMPTY + - Show union filesystem paths in /proc/*/map_files/* + - bugfix, fix the returning size of the branch attr -- Ben Hutchings Thu, 06 Nov 2014 21:01:22 +0000 diff --git a/debian/patches/features/all/aufs3/aufs3-add.patch b/debian/patches/features/all/aufs3/aufs3-add.patch index 7c1aef4f0..037c5be88 100644 --- a/debian/patches/features/all/aufs3/aufs3-add.patch +++ b/debian/patches/features/all/aufs3/aufs3-add.patch @@ -1,7 +1,7 @@ From: J. R. Okajima -Date: Thu Sep 4 19:47:05 2014 +0900 -Subject: aufs3.x-rcN-20140908 -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ +Date: Sat Oct 18 10:34:39 2014 +0900 +Subject: aufs3.17-20141020 +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/3316237b92dd0660799fdc253a925d5065ec9c6b/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch generated by debian/patches/features/all/aufs3/gen-patch @@ -6654,7 +6654,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_DEBUG_H__ */ --- a/fs/aufs/dentry.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dentry.c 2014-09-08 00:38:33.514569904 +0100 ++++ b/fs/aufs/dentry.c 2014-11-06 22:06:41.214082946 +0000 @@ -0,0 +1,1096 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima @@ -7699,7 +7699,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + di_downgrade_lock(dentry, AuLock_IR); + + err = -EINVAL; -+ if (!(flags & LOOKUP_OPEN) ++ if (!(flags & (LOOKUP_OPEN | LOOKUP_EMPTY)) + && inode + && !(inode->i_state && I_LINKABLE) + && (IS_DEADDIR(inode) || !inode->i_nlink)) @@ -9184,8 +9184,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + .fsync = aufs_fsync_dir +}; --- a/fs/aufs/dir.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dir.h 2014-01-20 03:24:33.512760970 +0000 -@@ -0,0 +1,136 @@ ++++ b/fs/aufs/dir.h 2014-11-06 22:06:41.214082946 +0000 +@@ -0,0 +1,130 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima + * @@ -9306,17 +9306,11 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + unsigned long arg); +#endif +#else -+static inline long au_rdu_ioctl(struct file *file, unsigned int cmd, -+ unsigned long arg) -+{ -+ return -EINVAL; -+} ++AuStub(long, au_rdu_ioctl, return -EINVAL, struct file *file, ++ unsigned int cmd, unsigned long arg) +#ifdef CONFIG_COMPAT -+static inline long au_rdu_compat_ioctl(struct file *file, unsigned int cmd, -+ unsigned long arg) -+{ -+ return -EINVAL; -+} ++AuStub(long, au_rdu_compat_ioctl, return -EINVAL, struct file *file, ++ unsigned int cmd, unsigned long arg) +#endif +#endif + @@ -12698,8 +12692,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* CONFIG_AUFS_DEBUG */ +}; --- a/fs/aufs/file.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/file.h 2014-07-15 14:04:48.728871625 +0100 -@@ -0,0 +1,289 @@ ++++ b/fs/aufs/file.h 2014-11-06 22:06:41.214082946 +0000 +@@ -0,0 +1,284 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima + * @@ -12797,13 +12791,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +void au_h_open_post(struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file); +#else -+static inline -+struct file *au_h_open_pre(struct dentry *dentry, aufs_bindex_t bindex, -+ int force_wr) -+{ -+ return NULL; -+} -+ ++AuStub(struct file *, au_h_open_pre, return NULL, struct dentry *dentry, ++ aufs_bindex_t bindex, int force_wr) +AuStubVoid(au_h_open_post, struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file); +#endif @@ -19057,8 +19046,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return au_test_h_perm(h_inode, mask); +} --- a/fs/aufs/inode.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/inode.h 2014-09-08 00:38:33.514569904 +0100 -@@ -0,0 +1,602 @@ ++++ b/fs/aufs/inode.h 2014-11-06 22:06:41.214082946 +0000 +@@ -0,0 +1,594 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima + * @@ -19602,18 +19591,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +} + +#else -+static inline -+int au_hn_alloc(struct au_hinode *hinode __maybe_unused, -+ struct inode *inode __maybe_unused) -+{ -+ return -EOPNOTSUPP; -+} -+ -+static inline struct au_hnotify *au_hn(struct au_hinode *hinode) -+{ -+ return NULL; -+} -+ ++AuStub(int, au_hn_alloc, return -EOPNOTSUPP, ++ struct au_hinode *hinode __maybe_unused, ++ struct inode *inode __maybe_unused) ++AuStub(struct au_hnotify *, au_hn, return NULL, struct au_hinode *hinode) +AuStubVoid(au_hn_free, struct au_hinode *hinode __maybe_unused) +AuStubVoid(au_hn_ctl, struct au_hinode *hinode __maybe_unused, + int do_set __maybe_unused) @@ -21161,8 +21142,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/opts.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/opts.c 2014-09-08 00:38:33.518569904 +0100 -@@ -0,0 +1,1799 @@ ++++ b/fs/aufs/opts.c 2014-11-06 22:06:41.214082946 +0000 +@@ -0,0 +1,1798 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima + * @@ -21430,7 +21411,6 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + const char *p; + char *q; + -+ sz = 0; + q = str->a; + *q = 0; + p = au_optstr(&perm, brattr); @@ -21452,7 +21432,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } while (p); + +out: -+ return sz; ++ return q - str->a; +} + +static int noinline_for_stack br_perm_val(char *perm) @@ -26006,8 +25986,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + .owner = THIS_MODULE, +}; --- a/fs/aufs/super.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/super.h 2014-09-08 00:38:33.518569904 +0100 -@@ -0,0 +1,644 @@ ++++ b/fs/aufs/super.h 2014-11-06 22:06:41.218082946 +0000 +@@ -0,0 +1,641 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima + * @@ -26392,10 +26372,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +AuStubInt0(au_xigen_new, struct inode *inode) +AuStubInt0(au_xigen_set, struct super_block *sb, struct file *base) +AuStubVoid(au_xigen_clr, struct super_block *sb) -+static inline int au_busy_or_stale(void) -+{ -+ return -EBUSY; -+} ++AuStub(int, au_busy_or_stale, return -EBUSY, void) +#endif /* CONFIG_AUFS_EXPORT */ + +/* ---------------------------------------------------------------------- */ @@ -26437,8 +26414,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* CONFIG_AUFS_MAGIC_SYSRQ */ +#else +AuStubVoid(au_sbilist_init, void) -+AuStubVoid(au_sbilist_add, struct super_block*) -+AuStubVoid(au_sbilist_del, struct super_block*) ++AuStubVoid(au_sbilist_add, struct super_block *sb) ++AuStubVoid(au_sbilist_del, struct super_block *sb) +AuStubVoid(au_sbilist_lock, void) +AuStubVoid(au_sbilist_unlock, void) +#define AuGFP_SBILIST GFP_NOFS @@ -26760,8 +26737,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/sysaufs.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/sysaufs.h 2014-09-08 00:38:33.518569904 +0100 -@@ -0,0 +1,107 @@ ++++ b/fs/aufs/sysaufs.h 2014-11-06 22:06:41.218082946 +0000 +@@ -0,0 +1,101 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima + * @@ -26848,14 +26825,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#define sysaufs_attr_group NULL + +AuStubInt0(sysaufs_si_xi_path, struct seq_file *seq, struct super_block *sb) -+ -+static inline -+ssize_t sysaufs_si_show(struct kobject *kobj, struct attribute *attr, -+ char *buf) -+{ -+ return 0; -+} -+ ++AuStub(ssize_t, sysaufs_si_show, return 0, struct kobject *kobj, ++ struct attribute *attr, char *buf) +AuStubVoid(sysaufs_br_init, struct au_branch *br) +AuStubVoid(sysaufs_brs_add, struct super_block *sb, aufs_bindex_t bindex) +AuStubVoid(sysaufs_brs_del, struct super_block *sb, aufs_bindex_t bindex) @@ -32927,7 +32898,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/include/uapi/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/include/uapi/linux/aufs_type.h 2014-09-13 07:23:44.615741693 +0100 ++++ b/include/uapi/linux/aufs_type.h 2014-11-06 22:06:41.218082946 +0000 @@ -0,0 +1,380 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima @@ -32970,7 +32941,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + +#include + -+#define AUFS_VERSION "3.x-rcN-20140908" ++#define AUFS_VERSION "3.17-20141020" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') diff --git a/debian/patches/features/all/aufs3/aufs3-base.patch b/debian/patches/features/all/aufs3/aufs3-base.patch index 1b586afe5..9ab04d01b 100644 --- a/debian/patches/features/all/aufs3/aufs3-base.patch +++ b/debian/patches/features/all/aufs3/aufs3-base.patch @@ -1,18 +1,18 @@ From: J. R. Okajima -Date: Thu Sep 4 19:47:05 2014 +0900 -Subject: aufs3.x-rcN base patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ +Date: Sun Oct 12 08:52:06 2014 +0900 +Subject: aufs3.17 base patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/3316237b92dd0660799fdc253a925d5065ec9c6b/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.x-rcN base patch +aufs3.17 base patch diff --git a/MAINTAINERS b/MAINTAINERS -index cf24bb5..4516dbc 100644 +index f10ed39..22b72ce 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -1741,6 +1741,20 @@ F: include/linux/audit.h +@@ -1747,6 +1747,20 @@ F: include/linux/audit.h F: include/uapi/linux/audit.h F: kernel/audit* diff --git a/debian/patches/features/all/aufs3/aufs3-kbuild.patch b/debian/patches/features/all/aufs3/aufs3-kbuild.patch index 63f20f213..1d46dc8e0 100644 --- a/debian/patches/features/all/aufs3/aufs3-kbuild.patch +++ b/debian/patches/features/all/aufs3/aufs3-kbuild.patch @@ -1,12 +1,12 @@ From: J. R. Okajima -Date: Sat Aug 23 03:27:16 2014 +0900 -Subject: aufs3.x-rcN kbuild patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ +Date: Sun Oct 12 08:52:06 2014 +0900 +Subject: aufs3.17 kbuild patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/3316237b92dd0660799fdc253a925d5065ec9c6b/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.x-rcN kbuild patch +aufs3.17 kbuild patch diff --git a/fs/Kconfig b/fs/Kconfig index 312393f..78632ed 100644 @@ -30,7 +30,7 @@ index 90c8852..d4f52f3 100644 obj-$(CONFIG_EFIVAR_FS) += efivarfs/ +obj-$(CONFIG_AUFS_FS) += aufs/ diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild -index 24e9033..fe9a8d4 100644 +index be88166..c236c53 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild @@ -56,6 +56,7 @@ header-y += atmppp.h diff --git a/debian/patches/features/all/aufs3/aufs3-mmap.patch b/debian/patches/features/all/aufs3/aufs3-mmap.patch index c8922dbc5..12244c779 100644 --- a/debian/patches/features/all/aufs3/aufs3-mmap.patch +++ b/debian/patches/features/all/aufs3/aufs3-mmap.patch @@ -1,18 +1,18 @@ From: J. R. Okajima -Date: Thu Sep 4 19:47:05 2014 +0900 -Subject: aufs3.x-rcN mmap patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ +Date: Sun Oct 12 08:52:06 2014 +0900 +Subject: aufs3.17 mmap patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/3316237b92dd0660799fdc253a925d5065ec9c6b/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.x-rcN mmap patch +aufs3.17 mmap patch diff --git a/fs/buffer.c b/fs/buffer.c -index 8f05111..2033d7c 100644 +index 3588a80..e185f4f 100644 --- a/fs/buffer.c +++ b/fs/buffer.c -@@ -2453,7 +2453,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, +@@ -2455,7 +2455,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... */ @@ -21,6 +21,19 @@ index 8f05111..2033d7c 100644 ret = __block_page_mkwrite(vma, vmf, get_block); sb_end_pagefault(sb); +diff --git a/fs/proc/base.c b/fs/proc/base.c +index baf852b..6389b5e 100644 +--- a/fs/proc/base.c ++++ b/fs/proc/base.c +@@ -1764,7 +1764,7 @@ static int proc_map_files_get_link(struct dentry *dentry, struct path *path) + down_read(&mm->mmap_sem); + vma = find_exact_vma(mm, vm_start, vm_end); + if (vma && vma->vm_file) { +- *path = vma->vm_file->f_path; ++ *path = vma_pr_or_file(vma)->f_path; + path_get(path); + rc = 0; + } diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c index d4a3574..1397181 100644 --- a/fs/proc/nommu.c @@ -38,7 +51,7 @@ index d4a3574..1397181 100644 ino = inode->i_ino; } diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index dfc791c..32699c2 100644 +index c341568..8564639 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -265,7 +265,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) @@ -53,7 +66,7 @@ index dfc791c..32699c2 100644 dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; -@@ -1405,7 +1408,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid) +@@ -1414,7 +1417,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; @@ -132,7 +145,7 @@ index 6e0b286..8f374ed 100644 #ifndef CONFIG_MMU diff --git a/kernel/fork.c b/kernel/fork.c -index 0cf9cdb..87ef21e 100644 +index a91e47d..2e9d836c 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -424,7 +424,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) @@ -225,10 +238,10 @@ index 0938b30..0b66856 100644 return error; } diff --git a/mm/memory.c b/mm/memory.c -index adeac30..a9a3247 100644 +index e229970..5f5e345 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -2159,7 +2159,7 @@ reuse: +@@ -2161,7 +2161,7 @@ reuse: set_page_dirty_balance(dirty_page); /* file_update_time outside page_lock */ if (vma->vm_file) @@ -238,7 +251,7 @@ index adeac30..a9a3247 100644 put_page(dirty_page); if (page_mkwrite) { diff --git a/mm/mmap.c b/mm/mmap.c -index c1f2ea4..8c434e0 100644 +index c0a3637..60df815 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -258,7 +258,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) diff --git a/debian/patches/features/all/aufs3/aufs3-standalone.patch b/debian/patches/features/all/aufs3/aufs3-standalone.patch index d5071e3f0..c1f529a99 100644 --- a/debian/patches/features/all/aufs3/aufs3-standalone.patch +++ b/debian/patches/features/all/aufs3/aufs3-standalone.patch @@ -1,12 +1,12 @@ From: J. R. Okajima -Date: Sat Aug 23 03:27:16 2014 +0900 -Subject: aufs3.x-rcN standalone patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ +Date: Sun Oct 12 08:52:06 2014 +0900 +Subject: aufs3.17 standalone patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/3316237b92dd0660799fdc253a925d5065ec9c6b/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.x-rcN standalone patch +aufs3.17 standalone patch diff --git a/fs/inode.c b/fs/inode.c index df21e66..c8df03d 100644 @@ -29,7 +29,7 @@ index df21e66..c8df03d 100644 /** * touch_atime - update the access time diff --git a/fs/namespace.c b/fs/namespace.c -index a01c773..3ac4837 100644 +index ef42d9b..88af377 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -452,6 +452,7 @@ void __mnt_drop_write(struct vfsmount *mnt) @@ -40,7 +40,7 @@ index a01c773..3ac4837 100644 /** * mnt_drop_write - give up write access to a mount -@@ -1576,6 +1577,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, +@@ -1584,6 +1585,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, } return 0; }