From 4652cd45e1579a741ceb0de908e7e0c62e07c0e3 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 20 Jan 2014 03:35:11 +0000 Subject: [PATCH] aufs: Update to aufs3.x-rcN-20140120 svn path=/dists/trunk/linux/; revision=20988 --- debian/changelog | 2 + .../features/all/aufs3/aufs3-add.patch | 574 +++++++++--------- .../features/all/aufs3/aufs3-base.patch | 2 +- .../features/all/aufs3/aufs3-kbuild.patch | 2 +- .../features/all/aufs3/aufs3-mmap.patch | 31 +- .../features/all/aufs3/aufs3-standalone.patch | 2 +- 6 files changed, 305 insertions(+), 308 deletions(-) diff --git a/debian/changelog b/debian/changelog index 9063fa01e..2fb9a57db 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ linux (3.13-1~exp1) UNRELEASED; urgency=low * [armhf] xen/pci: Fix build on non-x86 * [hppa/parisc64-smp] Disable MLONGCALLS (Closes: #733897) * [armel] Remove iop32x flavour (fixes FTBFS) + * aufs: Update to aufs3.x-rcN-20140120 + - bugfix, removed /proc/PID/fd/N [ Bastian Blank ] * Initial Python 3 support: diff --git a/debian/patches/features/all/aufs3/aufs3-add.patch b/debian/patches/features/all/aufs3/aufs3-add.patch index 6b5c638e5..b741a0efe 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: Wed Dec 18 12:37:33 2013 +0900 -Subject: aufs3.x-rcN-20131223 -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/7b136a27b021da9010d8b6c101939dd298e46be7/tree/ +Date: Mon Jan 13 23:11:18 2014 +0900 +Subject: aufs3.x-rcN-20140120 +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/94b50bae2118905dca9c63eaa7f29c322ce155d6/tree/ Bug-Debian: http://bugs.debian.org/541828 Patch generated by debian/patches/features/all/aufs3/gen-patch @@ -441,10 +441,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +# mode: text; +# End: ; --- a/Documentation/filesystems/aufs/design/01intro.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/01intro.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/01intro.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,161 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -605,10 +605,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +helper, instead of doing in kernel space. Actually I am still thinking +about it. But currently I have implemented it in kernel space. --- a/Documentation/filesystems/aufs/design/02struct.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/02struct.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/02struct.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,242 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -850,10 +850,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + +For this purpose, use "aumvdown" command in aufs-util.git. --- a/Documentation/filesystems/aufs/design/03lookup.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/03lookup.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/03lookup.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,105 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -958,10 +958,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + aufs performance when system surely hide the aufs branches from user, + by over-mounting something (or another method). --- a/Documentation/filesystems/aufs/design/04branch.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/04branch.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/04branch.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,75 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -1036,10 +1036,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + - a regular file on the branch is opened for write and there is no + same named entry on the upper branch. --- a/Documentation/filesystems/aufs/design/05wbr_policy.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/05wbr_policy.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/05wbr_policy.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,64 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -1103,10 +1103,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + one. If the selected branch is readonly, then aufs follows the + copyup policy. --- a/Documentation/filesystems/aufs/design/06mmap.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/06mmap.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/06mmap.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,46 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -1152,10 +1152,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +approach, aufs met a hard problem and I could not solve it without +switching the approach. --- a/Documentation/filesystems/aufs/design/07export.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/07export.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/07export.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,58 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -1213,10 +1213,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +- readdir(): call lockdep_on/off() because filldir in NFSD calls + lookup_one_len(), vfs_getattr(), encode_fh() and others. --- a/Documentation/filesystems/aufs/design/08shwh.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/08shwh.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/08shwh.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,52 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -1268,10 +1268,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +This new squashfs archive can be stored on the boot device and the +initramfs will use it to replace the old one at the next boot. --- a/Documentation/filesystems/aufs/design/10dynop.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/10dynop.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/10dynop.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,46 @@ + -+# Copyright (C) 2010-2013 Junjiro R. Okajima ++# Copyright (C) 2010-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -1317,10 +1317,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +Currently this approach is applied to file_operations and +vm_operations_struct for regular files only. --- a/Documentation/filesystems/aufs/design/99plan.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/filesystems/aufs/design/99plan.txt 2013-12-26 11:50:18.050562502 +0000 ++++ b/Documentation/filesystems/aufs/design/99plan.txt 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,95 @@ + -+# Copyright (C) 2005-2013 Junjiro R. Okajima ++# Copyright (C) 2005-2014 Junjiro R. Okajima +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -1642,10 +1642,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +aufs-$(CONFIG_AUFS_DEBUG) += debug.o +aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o --- a/fs/aufs/aufs.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/aufs.h 2013-12-26 11:50:18.050562502 +0000 ++++ b/fs/aufs/aufs.h 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,59 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -1704,10 +1704,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_H__ */ --- a/fs/aufs/branch.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/branch.c 2013-12-26 11:50:18.050562502 +0000 -@@ -0,0 +1,1220 @@ ++++ b/fs/aufs/branch.c 2014-01-20 03:24:33.508760970 +0000 +@@ -0,0 +1,1219 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -2081,8 +2081,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (kst.f_namelen >= NAME_MAX) + err = au_br_init_wh(sb, br, perm); + else -+ pr_err("%.*s(%s), unsupported namelen %ld\n", -+ AuDLNPair(au_br_dentry(br)), ++ pr_err("%pd(%s), unsupported namelen %ld\n", ++ au_br_dentry(br), + au_sbtype(au_br_dentry(br)->d_sb), kst.f_namelen); + +out: @@ -2347,7 +2347,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + && au_h_dptr(d, bindex) + && au_test_dbusy(d, bstart, bend)) { + err = -EBUSY; -+ AuVerbose(verbose, "busy %.*s\n", AuDLNPair(d)); ++ AuVerbose(verbose, "busy %pd\n", d); + AuDbgDentry(d); + } + di_read_unlock(d, AuLock_IR); @@ -2775,12 +2775,11 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + for (ull = 0; ull < max; ull++) { + file = array[ull]; + -+ /* AuDbg("%.*s\n", AuDLNPair(file->f_dentry)); */ ++ /* AuDbg("%pD\n", file); */ + fi_read_lock(file); + if (unlikely(au_test_mmapped(file))) { + err = -EBUSY; -+ AuVerbose(verbose, "mmapped %.*s\n", -+ AuDLNPair(file->f_dentry)); ++ AuVerbose(verbose, "mmapped %pD\n", file); + AuDbgFile(file); + FiMustNoWaiters(file); + fi_read_unlock(file); @@ -2927,10 +2926,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/branch.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/branch.h 2013-12-26 11:50:18.050562502 +0000 ++++ b/fs/aufs/branch.h 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,264 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -3234,10 +3233,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + +-include ${srctree}/${src}/conf_priv.mk --- a/fs/aufs/cpup.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/cpup.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/cpup.c 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,1277 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -3844,7 +3843,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + h_parent = h_dentry->d_parent; /* dir inode is locked */ + h_dir = h_parent->d_inode; + IMustLock(h_dir); -+ AuDbg("%.*s %.*s\n", AuDLNPair(h_dentry), AuDLNPair(h_path->dentry)); ++ AuDbg("%pd %pd\n", h_dentry, h_path->dentry); + /* no delegation since it is just created */ + err = vfsub_rename(h_dir, h_dentry, h_dir, h_path, /*delegated*/NULL); + dput(h_path->dentry); @@ -4302,8 +4301,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } else + err = vfsub_rmdir(h_parent->d_inode, &h_path); + if (unlikely(err)) { -+ AuIOErr("failed remove copied-up tmp file %.*s(%d)\n", -+ AuDLNPair(wh_dentry), err); ++ AuIOErr("failed remove copied-up tmp file %pd(%d)\n", ++ wh_dentry, err); + err = -EIO; + } + au_dtime_revert(&dt); @@ -4514,10 +4513,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/cpup.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/cpup.h 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/cpup.h 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,94 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -4611,10 +4610,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_CPUP_H__ */ --- a/fs/aufs/dbgaufs.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dbgaufs.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dbgaufs.c 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,432 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -5046,10 +5045,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/dbgaufs.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dbgaufs.h 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dbgaufs.h 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,48 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -5097,10 +5096,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __DBGAUFS_H__ */ --- a/fs/aufs/dcsub.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dcsub.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dcsub.c 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,243 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -5343,10 +5342,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return path_is_under(path + 0, path + 1); +} --- a/fs/aufs/dcsub.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dcsub.h 2013-12-26 11:50:18.054562502 +0000 -@@ -0,0 +1,93 @@ ++++ b/fs/aufs/dcsub.h 2014-01-20 03:24:33.508760970 +0000 +@@ -0,0 +1,98 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -5402,6 +5401,11 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + +/* ---------------------------------------------------------------------- */ + ++/* ++ * todo: in linux-3.13, several similar (but faster) helpers are added to ++ * include/linux/dcache.h. Try them (in the future). ++ */ ++ +static inline int au_d_hashed_positive(struct dentry *d) +{ + int err; @@ -5439,10 +5443,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_DCSUB_H__ */ --- a/fs/aufs/debug.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/debug.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/debug.c 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,517 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -5627,11 +5631,11 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } + /* do not call dget_parent() here */ + /* note: access d_xxx without d_lock */ -+ dpri("d%d: %.*s?/%.*s, %s, cnt %d, flags 0x%x\n", -+ bindex, -+ AuDLNPair(dentry->d_parent), AuDLNPair(dentry), ++ dpri("d%d: %p, %pd2?, %s, cnt %d, flags 0x%x, %shashed\n", ++ bindex, dentry, dentry, + dentry->d_sb ? au_sbtype(dentry->d_sb) : "??", -+ d_count(dentry), dentry->d_flags); ++ d_count(dentry), dentry->d_flags, ++ d_unhashed(dentry) ? "un" : ""); + hn = -1; + if (bindex >= 0 && dentry->d_inode && au_test_aufs(dentry->d_sb)) { + struct au_iinfo *iinfo = au_ii(dentry->d_inode); @@ -5959,10 +5963,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return 0; +} --- a/fs/aufs/debug.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/debug.h 2013-12-26 11:50:18.054562502 +0000 -@@ -0,0 +1,248 @@ ++++ b/fs/aufs/debug.h 2014-01-20 03:24:33.508760970 +0000 +@@ -0,0 +1,247 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -6066,7 +6070,6 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + +/* dirty macros for debug print, use with "%.*s" and caution */ +#define AuLNPair(qstr) (qstr)->len, (qstr)->name -+#define AuDLNPair(d) AuLNPair(&(d)->d_name) + +/* ---------------------------------------------------------------------- */ + @@ -6210,10 +6213,10 @@ 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 2013-12-26 11:50:18.054562502 +0000 -@@ -0,0 +1,1064 @@ ++++ b/fs/aufs/dentry.c 2014-01-20 03:24:33.508760970 +0000 +@@ -0,0 +1,1081 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -6422,8 +6425,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (unlikely(!au_opt_test(au_mntflags(dentry->d_sb), UDBA_NONE) + && au_dbstart(dentry) < 0)) { + err = -EIO; -+ AuIOErr("both of real entry and whiteout found, %.*s, err %d\n", -+ AuDLNPair(dentry), err); ++ AuIOErr("both of real entry and whiteout found, %pd, err %d\n", ++ dentry, err); + } + +out_parent: @@ -6477,8 +6480,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + goto out; + if (unlikely(h_dentry->d_inode)) { + err = -EIO; -+ AuIOErr("%.*s should be negative on b%d.\n", -+ AuDLNPair(h_dentry), bindex); ++ AuIOErr("%pd should be negative on b%d.\n", h_dentry, bindex); + dput(h_dentry); + goto out; + } @@ -6735,8 +6737,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + /* shrink_dcache_parent(dentry); */ + err = au_hide_children(dentry); + if (unlikely(err)) -+ AuIOErr("%.*s, failed hiding children, ignored %d\n", -+ AuDLNPair(dentry), err); ++ AuIOErr("%pd, failed hiding children, ignored %d\n", ++ dentry, err); + } + au_do_hide(dentry); +} @@ -6967,8 +6969,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + au_update_digen(dentry); +out: + if (unlikely(err && !(dentry->d_flags & DCACHE_NFSFS_RENAMED))) { -+ AuIOErr("failed refreshing %.*s, %d\n", -+ AuDLNPair(dentry), err); ++ AuIOErr("failed refreshing %pd, %d\n", dentry, err); + AuDbgDentry(dentry); + } + AuTraceErr(err); @@ -7011,7 +7012,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + int err; + umode_t mode, h_mode; + aufs_bindex_t bindex, btail, bstart, ibs, ibe; -+ unsigned char plus, unhashed, is_root, h_plus; ++ unsigned char plus, unhashed, is_root, h_plus, h_nfs; + struct inode *h_inode, *h_cached_inode; + struct dentry *h_dentry; + struct qstr *name, *h_name; @@ -7049,18 +7050,25 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (!h_dentry) + continue; + -+ AuDbg("b%d, %.*s\n", bindex, AuDLNPair(h_dentry)); ++ AuDbg("b%d, %pd\n", bindex, h_dentry); ++ h_nfs = !!au_test_nfs(h_dentry->d_sb); + spin_lock(&h_dentry->d_lock); + h_name = &h_dentry->d_name; + if (unlikely(do_udba + && !is_root -+ && (unhashed != !!d_unhashed(h_dentry) -+ || name->len != h_name->len -+ || memcmp(name->name, h_name->name, name->len)) ++ && ((!h_nfs ++ && (unhashed != !!d_unhashed(h_dentry) ++ || name->len != h_name->len ++ || memcmp(name->name, h_name->name, ++ name->len))) ++ || (h_nfs ++ && !(flags & LOOKUP_OPEN) ++ && (h_dentry->d_flags ++ & DCACHE_NFSFS_RENAMED))) + )) { -+ AuDbg("unhash 0x%x 0x%x, %.*s %.*s\n", -+ unhashed, d_unhashed(h_dentry), -+ AuDLNPair(dentry), AuDLNPair(h_dentry)); ++ AuDbg("unhash 0x%x 0x%x, %pd %pd\n", ++ unhashed, d_unhashed(h_dentry), ++ dentry, h_dentry); + spin_unlock(&h_dentry->d_lock); + goto err; + } @@ -7090,8 +7098,17 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (inode && ibs <= bindex && bindex <= ibe) + h_cached_inode = au_h_iptr(inode, bindex); + -+ if (unlikely(plus != h_plus -+ || mode != h_mode ++ if (!h_nfs) { ++ if (unlikely(plus != h_plus)) ++ goto err; ++ } else { ++ if (unlikely(!(h_dentry->d_flags & DCACHE_NFSFS_RENAMED) ++ && !is_root ++ && !IS_ROOT(h_dentry) ++ && unhashed != d_unhashed(h_dentry))) ++ goto err; ++ } ++ if (unlikely(mode != h_mode + || h_cached_inode != h_inode)) + goto err; + continue; @@ -7101,6 +7118,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + break; + } + ++ AuTraceErr(err); + return err; +} + @@ -7226,7 +7244,9 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + di_downgrade_lock(dentry, AuLock_IR); + + err = -EINVAL; -+ if (inode && (IS_DEADDIR(inode) || !inode->i_nlink)) ++ if (!(flags & LOOKUP_OPEN) ++ && inode ++ && (IS_DEADDIR(inode) || !inode->i_nlink)) + goto out_inval; + + do_udba = !au_opt_test(au_mntflags(sb), UDBA_NONE); @@ -7244,8 +7264,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + err = h_d_revalidate(dentry, inode, flags, do_udba); + if (unlikely(!err && do_udba && au_dbstart(dentry) < 0)) { + err = -EIO; -+ AuDbg("both of real entry and whiteout found, %.*s, err %d\n", -+ AuDLNPair(dentry), err); ++ AuDbg("both of real entry and whiteout found, %p, err %d\n", ++ dentry, err); + } + goto out_inval; + @@ -7257,7 +7277,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + valid = !err; +out: + if (!valid) { -+ AuDbg("%.*s invalid, %d\n", AuDLNPair(dentry), valid); ++ AuDbg("%pd invalid, %d\n", dentry, valid); + d_drop(dentry); + } + return valid; @@ -7277,10 +7297,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + .d_release = aufs_d_release +}; --- a/fs/aufs/dentry.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dentry.h 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dentry.h 2014-01-20 03:24:33.508760970 +0000 @@ -0,0 +1,233 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -7513,10 +7533,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_DENTRY_H__ */ --- a/fs/aufs/dinfo.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dinfo.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dinfo.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,542 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -8058,10 +8078,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return -1; +} --- a/fs/aufs/dir.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dir.c 2013-12-26 11:50:18.054562502 +0000 -@@ -0,0 +1,644 @@ ++++ b/fs/aufs/dir.c 2014-01-20 03:24:33.512760970 +0000 +@@ -0,0 +1,639 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -8214,11 +8234,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + + FiMustWriteLock(file); + ++ err = 0; + dentry = file->f_dentry; -+ err = au_alive_dir(dentry); -+ if (unlikely(err)) -+ goto out; -+ + file->f_version = dentry->d_inode->i_version; + bindex = au_dbstart(dentry); + au_set_fbstart(file, bindex); @@ -8248,7 +8265,6 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + au_set_fbstart(file, -1); + au_set_fbend_dir(file, -1); + -+out: + return err; +} + @@ -8426,8 +8442,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + struct inode *inode, *h_inode; + struct super_block *sb; + -+ AuDbg("%.*s, ctx{%pf, %llu}\n", -+ AuDLNPair(file->f_dentry), ctx->actor, ctx->pos); ++ AuDbg("%pD, ctx{%pf, %llu}\n", file, ctx->actor, ctx->pos); + + dentry = file->f_dentry; + inode = dentry->d_inode; @@ -8705,10 +8720,10 @@ 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 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dir.h 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,136 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -8844,10 +8859,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_DIR_H__ */ --- a/fs/aufs/dynop.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dynop.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dynop.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,379 @@ +/* -+ * Copyright (C) 2010-2013 Junjiro R. Okajima ++ * Copyright (C) 2010-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -9226,10 +9241,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + WARN_ON(!list_empty(&dynop[i].head)); +} --- a/fs/aufs/dynop.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/dynop.h 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/dynop.h 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,75 @@ +/* -+ * Copyright (C) 2010-2013 Junjiro R. Okajima ++ * Copyright (C) 2010-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -9304,10 +9319,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_DYNOP_H__ */ --- a/fs/aufs/export.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/export.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/export.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,831 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -10138,10 +10153,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + atomic_set(&sbinfo->si_xigen_next, u); +} --- a/fs/aufs/f_op.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/f_op.c 2013-12-26 11:50:18.054562502 +0000 -@@ -0,0 +1,723 @@ ++++ b/fs/aufs/f_op.c 2014-01-20 03:24:33.512760970 +0000 +@@ -0,0 +1,718 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -10177,11 +10192,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + + FiMustWriteLock(file); + ++ err = 0; + dentry = file->f_dentry; -+ err = au_d_alive(dentry); -+ if (unlikely(err)) -+ goto out; -+ + finfo = au_fi(file); + memset(&finfo->fi_htop, 0, sizeof(finfo->fi_htop)); + atomic_set(&finfo->fi_mmapped, 0); @@ -10199,7 +10211,6 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + /* file->f_ra = h_file->f_ra; */ + } + -+out: + return err; +} + @@ -10209,9 +10220,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + int err; + struct super_block *sb; + -+ AuDbg("%.*s, f_flags 0x%x, f_mode 0x%x\n", -+ AuDLNPair(file->f_dentry), vfsub_file_flags(file), -+ file->f_mode); ++ AuDbg("%pD, f_flags 0x%x, f_mode 0x%x\n", ++ file, vfsub_file_flags(file), file->f_mode); + + sb = file->f_dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); @@ -10864,10 +10874,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif +}; --- a/fs/aufs/f_op_sp.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/f_op_sp.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/f_op_sp.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,382 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -11128,7 +11138,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + .flags = AuCpup_DTIME + }; + -+ AuDbg("%.*s\n", AuDLNPair(dentry)); ++ AuDbg("%pd\n", dentry); + + di_read_unlock(dentry, AuLock_IR); + di_write_lock_child(dentry); @@ -11165,7 +11175,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + goto out; + + dentry = file->f_dentry; -+ AuDbg("%.*s\n", AuDLNPair(dentry)); ++ AuDbg("%pd\n", dentry); + + /* + * try copying-up. @@ -11249,10 +11259,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return ret; +} --- a/fs/aufs/file.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/file.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/file.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,724 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -11976,10 +11986,10 @@ 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 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/file.h 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,312 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -12291,10 +12301,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_FILE_H__ */ --- a/fs/aufs/finfo.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/finfo.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/finfo.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,156 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -12450,10 +12460,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/fstype.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/fstype.h 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/fstype.h 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,469 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -12922,10 +12932,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_FSTYPE_H__ */ --- a/fs/aufs/hfsnotify.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/hfsnotify.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/hfsnotify.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,295 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -13220,10 +13230,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + .init_br = au_hfsn_init_br +}; --- a/fs/aufs/hfsplus.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/hfsplus.c 2013-12-26 11:50:18.054562502 +0000 ++++ b/fs/aufs/hfsplus.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,56 @@ +/* -+ * Copyright (C) 2010-2013 Junjiro R. Okajima ++ * Copyright (C) 2010-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -13279,10 +13289,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } +} --- a/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/hnotify.c 2013-12-26 11:50:18.054562502 +0000 -@@ -0,0 +1,711 @@ ++++ b/fs/aufs/hnotify.c 2014-01-20 03:24:33.512760970 +0000 +@@ -0,0 +1,710 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -13640,8 +13650,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (au_ftest_hnjob(a->flags, MNTPNT) + && a->dentry + && d_mountpoint(a->dentry)) -+ pr_warn("mount-point %.*s is removed or renamed\n", -+ AuDLNPair(a->dentry)); ++ pr_warn("mount-point %pd is removed or renamed\n", a->dentry); + + return 0; +} @@ -13661,7 +13670,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + dentry = NULL; + spin_lock(&parent->d_lock); + list_for_each_entry(d, &parent->d_subdirs, d_u.d_child) { -+ /* AuDbg("%.*s\n", AuDLNPair(d)); */ ++ /* AuDbg("%pd\n", d); */ + spin_lock_nested(&d->d_lock, DENTRY_D_LOCK_NESTED); + dname = &d->d_name; + if (dname->len != nlen || memcmp(dname->name, name, nlen)) @@ -13993,10 +14002,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + au_hn_destroy_cache(); +} --- a/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/i_op.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/i_op.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,1127 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -15123,10 +15132,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + .update_time = aufs_update_time +}; --- a/fs/aufs/i_op_add.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/i_op_add.c 2013-12-26 11:50:18.058562502 +0000 -@@ -0,0 +1,763 @@ ++++ b/fs/aufs/i_op_add.c 2014-01-20 03:24:33.512760970 +0000 +@@ -0,0 +1,762 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -15197,8 +15206,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + wh = au_wh_create(dentry, bwh, wh_dentry->d_parent); + rerr = PTR_ERR(wh); + if (IS_ERR(wh)) { -+ AuIOErr("%.*s reverting whiteout failed(%d, %d)\n", -+ AuDLNPair(dentry), err, rerr); ++ AuIOErr("%pd reverting whiteout failed(%d, %d)\n", ++ dentry, err, rerr); + err = -EIO; + } else + dput(wh); @@ -15285,7 +15294,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + unsigned int udba; + aufs_bindex_t bcpup; + -+ AuDbg("%.*s\n", AuDLNPair(dentry)); ++ AuDbg("%pd\n", dentry); + + err = au_wr_dir(dentry, src_dentry, wr_dir_args); + bcpup = err; @@ -15370,7 +15379,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + struct au_wr_dir_args wr_dir_args; + } *a; + -+ AuDbg("%.*s\n", AuDLNPair(dentry)); ++ AuDbg("%pd\n", dentry); + IMustLock(dir); + + err = -ENOMEM; @@ -15424,8 +15433,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + rerr = vfsub_unlink(h_dir, &a->h_path, /*delegated*/NULL, + /*force*/0); + if (rerr) { -+ AuIOErr("%.*s revert failure(%d, %d)\n", -+ AuDLNPair(dentry), err, rerr); ++ AuIOErr("%pd revert failure(%d, %d)\n", ++ dentry, err, rerr); + err = -EIO; + } + au_dtime_revert(&a->dt); @@ -15756,8 +15765,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + rerr = vfsub_unlink(au_pinned_h_dir(&a->pin), &a->h_path, + /*delegated*/NULL, /*force*/0); + if (unlikely(rerr)) { -+ AuIOErr("%.*s reverting failed(%d, %d)\n", -+ AuDLNPair(dentry), err, rerr); ++ AuIOErr("%pd reverting failed(%d, %d)\n", dentry, err, rerr); + err = -EIO; + } + au_dtime_revert(&dt); @@ -15857,8 +15865,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + rerr = au_diropq_remove(dentry, bindex); + mutex_unlock(h_mtx); + if (rerr) { -+ AuIOErr("%.*s reverting diropq failed(%d, %d)\n", -+ AuDLNPair(dentry), err, rerr); ++ AuIOErr("%pd reverting diropq failed(%d, %d)\n", ++ dentry, err, rerr); + err = -EIO; + } + } @@ -15867,8 +15875,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + AuLabel(revert dir); + rerr = vfsub_rmdir(au_pinned_h_dir(&a->pin), &h_path); + if (rerr) { -+ AuIOErr("%.*s reverting dir failed(%d, %d)\n", -+ AuDLNPair(dentry), err, rerr); ++ AuIOErr("%pd reverting dir failed(%d, %d)\n", ++ dentry, err, rerr); + err = -EIO; + } + au_dtime_revert(&a->dt); @@ -15889,10 +15897,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/i_op_del.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/i_op_del.c 2013-12-26 11:50:18.058562502 +0000 -@@ -0,0 +1,507 @@ ++++ b/fs/aufs/i_op_del.c 2014-01-20 03:24:33.512760970 +0000 +@@ -0,0 +1,506 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -16132,8 +16140,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + + err = au_whtmp_rmdir(dir, bindex, h_dentry, whlist); + if (unlikely(err)) { -+ AuIOErr("rmdir %.*s, b%d failed, %d. ignored\n", -+ AuDLNPair(h_dentry), bindex, err); ++ AuIOErr("rmdir %pd, b%d failed, %d. ignored\n", ++ h_dentry, bindex, err); + err = 0; + } + @@ -16180,8 +16188,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return 0; + } + -+ AuIOErr("%.*s reverting whiteout failed(%d, %d)\n", -+ AuDLNPair(dentry), err, rerr); ++ AuIOErr("%pd reverting whiteout failed(%d, %d)\n", dentry, err, rerr); + return -EIO; +} + @@ -16399,10 +16406,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/i_op_ren.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/i_op_ren.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/i_op_ren.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,1032 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -16514,7 +16521,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + au_hn_imtx_unlock(a->src_hinode); + au_set_dbdiropq(a->src_dentry, a->src_bdiropq); + if (rerr) -+ RevertFailure("remove diropq %.*s", AuDLNPair(a->src_dentry)); ++ RevertFailure("remove diropq %pd", a->src_dentry); +} + +static void au_ren_rev_rename(int err, struct au_ren_args *a) @@ -16526,7 +16533,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + a->src_h_parent); + rerr = PTR_ERR(a->h_path.dentry); + if (IS_ERR(a->h_path.dentry)) { -+ RevertFailure("lkup one %.*s", AuDLNPair(a->src_dentry)); ++ RevertFailure("lkup one %pd", a->src_dentry); + return; + } + @@ -16543,7 +16550,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + dput(a->h_path.dentry); + /* au_set_h_dptr(a->src_dentry, a->btgt, NULL); */ + if (rerr) -+ RevertFailure("rename %.*s", AuDLNPair(a->src_dentry)); ++ RevertFailure("rename %pd", a->src_dentry); +} + +static void au_ren_rev_cpup(int err, struct au_ren_args *a) @@ -16557,7 +16564,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + au_set_h_dptr(a->src_dentry, a->btgt, NULL); + au_set_dbstart(a->src_dentry, a->src_bstart); + if (rerr) -+ RevertFailure("unlink %.*s", AuDLNPair(a->dst_h_dentry)); ++ RevertFailure("unlink %pd", a->dst_h_dentry); +} + +static void au_ren_rev_whtmp(int err, struct au_ren_args *a) @@ -16569,7 +16576,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + a->dst_h_parent); + rerr = PTR_ERR(a->h_path.dentry); + if (IS_ERR(a->h_path.dentry)) { -+ RevertFailure("lkup one %.*s", AuDLNPair(a->dst_dentry)); ++ RevertFailure("lkup one %pd", a->dst_dentry); + return; + } + if (a->h_path.dentry->d_inode) { @@ -16591,7 +16598,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (!rerr) + au_set_h_dptr(a->dst_dentry, a->btgt, dget(a->h_dst)); + else -+ RevertFailure("rename %.*s", AuDLNPair(a->h_dst)); ++ RevertFailure("rename %pd", a->h_dst); +} + +static void au_ren_rev_whsrc(int err, struct au_ren_args *a) @@ -16602,7 +16609,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + rerr = au_wh_unlink_dentry(a->src_h_dir, &a->h_path, a->src_dentry); + au_set_dbwh(a->src_dentry, a->src_bwh); + if (rerr) -+ RevertFailure("unlink %.*s", AuDLNPair(a->src_wh_dentry)); ++ RevertFailure("unlink %pd", a->src_wh_dentry); +} +#undef RevertFailure + @@ -16657,8 +16664,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + || au_test_fs_remote(a->h_dst->d_sb)) { + err = au_whtmp_rmdir(dir, a->btgt, a->h_dst, &a->whlist); + if (unlikely(err)) -+ pr_warn("failed removing whtmp dir %.*s (%d), " -+ "ignored.\n", AuDLNPair(a->h_dst), err); ++ pr_warn("failed removing whtmp dir %pd (%d), " ++ "ignored.\n", a->h_dst, err); + } else { + au_nhash_wh_free(&a->thargs->whlist); + a->thargs->whlist = a->whlist; @@ -17231,7 +17238,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + /* reduce stack space */ + struct au_ren_args *a; + -+ AuDbg("%.*s, %.*s\n", AuDLNPair(_src_dentry), AuDLNPair(_dst_dentry)); ++ AuDbg("%pd, %pd\n", _src_dentry, _dst_dentry); + IMustLock(_src_dir); + IMustLock(_dst_dir); + @@ -17434,10 +17441,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/iinfo.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/iinfo.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/iinfo.c 2014-01-20 03:24:33.512760970 +0000 @@ -0,0 +1,275 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -17712,10 +17719,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + AuRwDestroy(&iinfo->ii_rwsem); +} --- a/fs/aufs/inode.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/inode.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/inode.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,491 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -18143,8 +18150,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + + if (unlikely(au_test_fs_unique_ino(h_dentry->d_inode))) + AuWarn1("Warning: Un-notified UDBA or repeatedly renamed dir," -+ " b%d, %s, %.*s, hi%lu, i%lu.\n", -+ bstart, au_sbtype(h_dentry->d_sb), AuDLNPair(dentry), ++ " b%d, %s, %pd, hi%lu, i%lu.\n", ++ bstart, au_sbtype(h_dentry->d_sb), dentry, + (unsigned long)h_ino, (unsigned long)ino); + ino = 0; + err = au_xino_write(sb, bstart, h_ino, /*ino*/0); @@ -18206,10 +18213,10 @@ 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 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/inode.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,599 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -18808,10 +18815,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_INODE_H__ */ --- a/fs/aufs/ioctl.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/ioctl.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/ioctl.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,201 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -19012,10 +19019,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +} +#endif --- a/fs/aufs/loop.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/loop.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/loop.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,145 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -19160,10 +19167,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + kfree(au_warn_loopback_array); +} --- a/fs/aufs/loop.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/loop.h 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/loop.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,52 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -19272,10 +19279,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +ccflags-y += -DHFSPLUS_SUPER_MAGIC=0x482b +endif --- a/fs/aufs/module.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/module.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/module.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,202 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -19477,10 +19484,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +module_init(aufs_init); +module_exit(aufs_exit); --- a/fs/aufs/module.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/module.h 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/module.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,104 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -19584,10 +19591,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_MODULE_H__ */ --- a/fs/aufs/mvdown.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/mvdown.c 2013-12-26 11:50:18.058562502 +0000 -@@ -0,0 +1,623 @@ ++++ b/fs/aufs/mvdown.c 2014-01-20 03:24:33.516760970 +0000 +@@ -0,0 +1,627 @@ +/* -+ * Copyright (C) 2011-2013 Junjiro R. Okajima ++ * Copyright (C) 2011-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -19603,6 +19610,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + * along with this program. If not, see . + */ + ++/* ++ * move-down, opposite of copy-up ++ */ ++ +#include "aufs.h" + +struct au_mvd_args { @@ -20210,10 +20221,10 @@ 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 2013-12-26 11:50:18.058562502 +0000 -@@ -0,0 +1,1703 @@ ++++ b/fs/aufs/opts.c 2014-01-20 03:24:33.516760970 +0000 +@@ -0,0 +1,1701 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -20776,9 +20787,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + break; + case Opt_xino: + u.xino = &opt->xino; -+ AuDbg("xino {%s %.*s}\n", -+ u.xino->path, -+ AuDLNPair(u.xino->file->f_dentry)); ++ AuDbg("xino {%s %pD}\n", u.xino->path, u.xino->file); + break; + case Opt_trunc_xino: + AuLabel(trunc_xino); @@ -21916,10 +21925,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return au_mntflags(sb) & AuOptMask_UDBA; +} --- a/fs/aufs/opts.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/opts.h 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/opts.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,210 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -22129,10 +22138,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_OPTS_H__ */ --- a/fs/aufs/plink.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/plink.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/plink.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,532 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -22664,10 +22673,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } +} --- a/fs/aufs/poll.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/poll.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/poll.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,55 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -22722,10 +22731,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return mask; +} --- a/fs/aufs/procfs.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/procfs.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/procfs.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,169 @@ +/* -+ * Copyright (C) 2010-2013 Junjiro R. Okajima ++ * Copyright (C) 2010-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -22894,10 +22903,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/rdu.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/rdu.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/rdu.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,388 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -23285,10 +23294,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +} +#endif --- a/fs/aufs/rwsem.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/rwsem.h 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/rwsem.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,187 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -23475,10 +23484,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_RWSEM_H__ */ --- a/fs/aufs/sbinfo.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/sbinfo.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/sbinfo.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,351 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -23829,10 +23838,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + spin_unlock(&sbinfo->au_si_pid.tree_lock); +} --- a/fs/aufs/spl.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/spl.h 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/spl.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,111 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -23943,10 +23952,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_SPL_H__ */ --- a/fs/aufs/super.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/super.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/super.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,1001 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -24947,10 +24956,10 @@ 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 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/super.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,571 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -25521,10 +25530,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_SUPER_H__ */ --- a/fs/aufs/sysaufs.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/sysaufs.c 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/sysaufs.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,104 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -25628,10 +25637,10 @@ 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 2013-12-26 11:50:18.058562502 +0000 ++++ b/fs/aufs/sysaufs.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,103 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -25734,10 +25743,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __SYSAUFS_H__ */ --- a/fs/aufs/sysfs.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/sysfs.c 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/sysfs.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,296 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -26033,10 +26042,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } +} --- a/fs/aufs/sysrq.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/sysrq.c 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/sysrq.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,154 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -26190,10 +26199,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + pr_err("err %d (ignored)\n", err); +} --- a/fs/aufs/vdir.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/vdir.c 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/vdir.c 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,887 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -27080,10 +27089,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return 0; +} --- a/fs/aufs/vfsub.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/vfsub.c 2013-12-26 11:50:18.062562502 +0000 -@@ -0,0 +1,783 @@ ++++ b/fs/aufs/vfsub.c 2014-01-20 03:24:33.516760970 +0000 +@@ -0,0 +1,782 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -27566,8 +27575,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +{ + int err; + -+ AuDbg("%.*s, ctx{%pf, %llu}\n", -+ AuDLNPair(file->f_dentry), ctx->actor, ctx->pos); ++ AuDbg("%pD, ctx{%pf, %llu}\n", file, ctx->actor, ctx->pos); + + lockdep_off(); + err = iterate_dir(file, ctx); @@ -27866,10 +27874,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/vfsub.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/vfsub.h 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/vfsub.h 2014-01-20 03:24:33.516760970 +0000 @@ -0,0 +1,282 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -28151,10 +28159,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_VFSUB_H__ */ --- a/fs/aufs/wbr_policy.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/wbr_policy.c 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/wbr_policy.c 2014-01-20 03:24:33.520760970 +0000 @@ -0,0 +1,756 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -28329,8 +28337,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + rerr = au_diropq_remove(dentry, bdst); + mutex_unlock(&h_inode->i_mutex); + if (unlikely(rerr)) { -+ AuIOErr("failed removing diropq for %.*s b%d (%d)\n", -+ AuDLNPair(dentry), bdst, rerr); ++ AuIOErr("failed removing diropq for %pd b%d (%d)\n", ++ dentry, bdst, rerr); + err = -EIO; + goto out; + } @@ -28339,8 +28347,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (au_ftest_cpdown(*flags, MADE_DIR)) { + rerr = vfsub_sio_rmdir(au_h_iptr(dir, bdst), &h_path); + if (unlikely(rerr)) { -+ AuIOErr("failed removing %.*s b%d (%d)\n", -+ AuDLNPair(dentry), bdst, rerr); ++ AuIOErr("failed removing %pd b%d (%d)\n", ++ dentry, bdst, rerr); + err = -EIO; + } + } @@ -28910,10 +28918,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } +}; --- a/fs/aufs/whout.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/whout.c 2013-12-26 11:50:18.062562502 +0000 -@@ -0,0 +1,1056 @@ ++++ b/fs/aufs/whout.c 2014-01-20 03:24:33.520760970 +0000 +@@ -0,0 +1,1052 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -29000,8 +29008,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + goto out_wh; /* success */ + + err = -EIO; -+ AuIOErr("%.*s Invalid whiteout entry type 0%o.\n", -+ AuDLNPair(wh_dentry), wh_dentry->d_inode->i_mode); ++ AuIOErr("%pd Invalid whiteout entry type 0%o.\n", ++ wh_dentry, wh_dentry->d_inode->i_mode); + +out_wh: + dput(wh_dentry); @@ -29203,8 +29211,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } + } + if (unlikely(err)) -+ pr_warn("failed removing %.*s (%d), ignored.\n", -+ AuDLNPair(whpath->dentry), err); ++ pr_warn("failed removing %pd (%d), ignored.\n", ++ whpath->dentry, err); +} + +static int test_linkable(struct dentry *h_root) @@ -29214,8 +29222,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + if (h_dir->i_op->link) + return 0; + -+ pr_err("%.*s (%s) doesn't support link(2), use noplink and rw+nolwh\n", -+ AuDLNPair(h_root), au_sbtype(h_root->d_sb)); ++ pr_err("%pd (%s) doesn't support link(2), use noplink and rw+nolwh\n", ++ h_root, au_sbtype(h_root->d_sb)); + return -ENOSYS; +} + @@ -29234,7 +29242,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } else if (S_ISDIR(path->dentry->d_inode->i_mode)) + err = 0; + else -+ pr_err("unknown %.*s exists\n", AuDLNPair(path->dentry)); ++ pr_err("unknown %pd exists\n", path->dentry); + + return err; +} @@ -29329,8 +29337,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } else if (S_ISREG(base[AuBrWh_BASE].dentry->d_inode->i_mode)) + err = 0; + else -+ pr_err("unknown %.*s/%.*s exists\n", -+ AuDLNPair(h_root), AuDLNPair(base[AuBrWh_BASE].dentry)); ++ pr_err("unknown %pd2 exists\n", base[AuBrWh_BASE].dentry); + if (unlikely(err)) + goto out; + @@ -29433,8 +29440,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + goto out; /* success */ + +out_err: -+ pr_err("an error(%d) on the writable branch %.*s(%s)\n", -+ err, AuDLNPair(h_root), au_sbtype(h_root->d_sb)); ++ pr_err("an error(%d) on the writable branch %pd(%s)\n", ++ err, h_root, au_sbtype(h_root->d_sb)); +out: + for (i = 0; i < AuBrWh_Last; i++) + dput(base[i].dentry); @@ -29496,8 +29503,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + iput(delegated); + } + } else { -+ pr_warn("%.*s is moved, ignored\n", -+ AuDLNPair(wbr->wbr_whbase)); ++ pr_warn("%pd is moved, ignored\n", wbr->wbr_whbase); + err = 0; + } + dput(wbr->wbr_whbase); @@ -29893,8 +29899,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return 0; /* success */ + } + -+ pr_warn("failed removing %.*s(%d), ignored\n", -+ AuDLNPair(wh_dentry), err); ++ pr_warn("failed removing %pd(%d), ignored\n", wh_dentry, err); + return err; +} + @@ -29963,16 +29968,15 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + args->wh_dentry = dget(wh_dentry); + wkq_err = au_wkq_nowait(call_rmdir_whtmp, args, sb, /*flags*/0); + if (unlikely(wkq_err)) { -+ pr_warn("rmdir error %.*s (%d), ignored\n", -+ AuDLNPair(wh_dentry), wkq_err); ++ pr_warn("rmdir error %pd (%d), ignored\n", wh_dentry, wkq_err); + au_whtmp_rmdir_free(args); + } +} --- a/fs/aufs/whout.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/whout.h 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/whout.h 2014-01-20 03:24:33.520760970 +0000 @@ -0,0 +1,86 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -30058,10 +30062,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_WHOUT_H__ */ --- a/fs/aufs/wkq.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/wkq.c 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/wkq.c 2014-01-20 03:24:33.520760970 +0000 @@ -0,0 +1,212 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -30273,10 +30277,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/fs/aufs/wkq.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/wkq.h 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/wkq.h 2014-01-20 03:24:33.520760970 +0000 @@ -0,0 +1,91 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -30367,10 +30371,10 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch +#endif /* __KERNEL__ */ +#endif /* __AUFS_WKQ_H__ */ --- a/fs/aufs/xino.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/xino.c 2013-12-26 11:50:18.062562502 +0000 ++++ b/fs/aufs/xino.c 2014-01-20 03:24:33.520760970 +0000 @@ -0,0 +1,1314 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -30523,8 +30527,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + path.dentry = vfsub_lookup_one_len(name->name, parent, name->len); + if (IS_ERR(path.dentry)) { + file = (void *)path.dentry; -+ pr_err("%.*s lookup err %ld\n", -+ AuLNPair(name), PTR_ERR(path.dentry)); ++ pr_err("%pd lookup err %ld\n", ++ base, PTR_ERR(path.dentry)); + goto out; + } + @@ -30532,7 +30536,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + err = vfs_create(dir, path.dentry, S_IRUGO | S_IWUGO, NULL); + if (unlikely(err)) { + file = ERR_PTR(err); -+ pr_err("%.*s create err %d\n", AuLNPair(name), err); ++ pr_err("%pd create err %d\n", base, err); + goto out_dput; + } + @@ -30541,7 +30545,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE + /* | __FMODE_NONOTIFY */); + if (IS_ERR(file)) { -+ pr_err("%.*s open err %ld\n", AuLNPair(name), PTR_ERR(file)); ++ pr_err("%pd open err %ld\n", base, PTR_ERR(file)); + goto out_dput; + } + @@ -30553,7 +30557,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + iput(delegated); + } + if (unlikely(err)) { -+ pr_err("%.*s unlink err %d\n", AuLNPair(name), err); ++ pr_err("%pd unlink err %d\n", base, err); + goto out_fput; + } + @@ -30561,7 +30565,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + /* no one can touch copy_src xino */ + err = au_copy_file(file, copy_src, vfsub_f_size_read(copy_src)); + if (unlikely(err)) { -+ pr_err("%.*s copy err %d\n", AuLNPair(name), err); ++ pr_err("%pd copy err %d\n", base, err); + goto out_fput; + } + } @@ -31684,10 +31688,10 @@ 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 2013-12-26 11:50:18.062562502 +0000 ++++ b/include/uapi/linux/aufs_type.h 2014-01-20 03:24:33.520760970 +0000 @@ -0,0 +1,281 @@ +/* -+ * Copyright (C) 2005-2013 Junjiro R. Okajima ++ * Copyright (C) 2005-2014 Junjiro R. Okajima + * + * This program, aufs is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by @@ -31727,7 +31731,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + +#include + -+#define AUFS_VERSION "3.x-rcN-20131223" ++#define AUFS_VERSION "3.x-rcN-20140120" + +/* 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 04d3e0473..31ebebaea 100644 --- a/debian/patches/features/all/aufs3/aufs3-base.patch +++ b/debian/patches/features/all/aufs3/aufs3-base.patch @@ -1,7 +1,7 @@ From: J. R. Okajima Date: Wed Dec 18 12:37:33 2013 +0900 Subject: aufs3.x-rcN base patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/7b136a27b021da9010d8b6c101939dd298e46be7/tree/ +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/94b50bae2118905dca9c63eaa7f29c322ce155d6/tree/ Bug-Debian: http://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch diff --git a/debian/patches/features/all/aufs3/aufs3-kbuild.patch b/debian/patches/features/all/aufs3/aufs3-kbuild.patch index 973f66fe5..934095d99 100644 --- a/debian/patches/features/all/aufs3/aufs3-kbuild.patch +++ b/debian/patches/features/all/aufs3/aufs3-kbuild.patch @@ -1,7 +1,7 @@ From: J. R. Okajima Date: Wed Dec 18 12:37:33 2013 +0900 Subject: aufs3.x-rcN kbuild patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/7b136a27b021da9010d8b6c101939dd298e46be7/tree/ +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/94b50bae2118905dca9c63eaa7f29c322ce155d6/tree/ Bug-Debian: http://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch diff --git a/debian/patches/features/all/aufs3/aufs3-mmap.patch b/debian/patches/features/all/aufs3/aufs3-mmap.patch index 5e795855b..0547c6881 100644 --- a/debian/patches/features/all/aufs3/aufs3-mmap.patch +++ b/debian/patches/features/all/aufs3/aufs3-mmap.patch @@ -1,16 +1,13 @@ From: J. R. Okajima -Date: Wed Dec 18 12:37:33 2013 +0900 +Date: Thu Jan 9 15:51:36 2014 +0900 Subject: aufs3.x-rcN mmap patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/7b136a27b021da9010d8b6c101939dd298e46be7/tree/ +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/94b50bae2118905dca9c63eaa7f29c322ce155d6/tree/ Bug-Debian: http://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch aufs3.x-rcN mmap patch -[bwh: Resolved conflict with commit 4eb919825e6c ('mm: fix use-after-free - in sys_remap_file_pages')] - diff --git a/fs/buffer.c b/fs/buffer.c index 6024877..95bbf13 100644 --- a/fs/buffer.c @@ -78,7 +75,7 @@ index 678455d..ad0ce45 100644 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 1cedd00..a31519b 100644 +index 3552717..3c5a972 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -17,6 +17,9 @@ @@ -180,10 +177,10 @@ index 1cedd00..a31519b 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 bd29941..b5c6151 100644 +index 290901a..c21588b 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h -@@ -230,6 +230,7 @@ struct vm_region { +@@ -231,6 +231,7 @@ struct vm_region { unsigned long vm_top; /* region allocated to here */ unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ struct file *vm_file; /* the backing file or NULL */ @@ -191,7 +188,7 @@ index bd29941..b5c6151 100644 int vm_usage; /* region usage count (access under nommu_region_sem) */ bool vm_icache_flushed : 1; /* true if the icache has been flushed for -@@ -298,6 +299,7 @@ struct vm_area_struct { +@@ -299,6 +300,7 @@ struct vm_area_struct { unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE units, *not* PAGE_CACHE_SIZE */ struct file * vm_file; /* File we map to (can be NULL). */ @@ -200,7 +197,7 @@ index bd29941..b5c6151 100644 #ifndef CONFIG_MMU diff --git a/kernel/fork.c b/kernel/fork.c -index 728d5be..4e4344e 100644 +index 5721f0e..ae597af 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -412,7 +412,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) @@ -226,25 +223,19 @@ index b7749a9..a6693ca 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,12 +207,13 @@ 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, vm_flags, pgoff); -- fput(file); + 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 @@ -265,7 +256,7 @@ index 539eeb9..5e700b1 100644 return error; } diff --git a/mm/memory.c b/mm/memory.c -index 5d9025f..3e3c5d5 100644 +index 6768ce9..22d2cec 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2752,7 +2752,7 @@ reuse: diff --git a/debian/patches/features/all/aufs3/aufs3-standalone.patch b/debian/patches/features/all/aufs3/aufs3-standalone.patch index 55742d712..af02d9e1a 100644 --- a/debian/patches/features/all/aufs3/aufs3-standalone.patch +++ b/debian/patches/features/all/aufs3/aufs3-standalone.patch @@ -1,7 +1,7 @@ From: J. R. Okajima Date: Wed Dec 18 12:37:33 2013 +0900 Subject: aufs3.x-rcN standalone patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/7b136a27b021da9010d8b6c101939dd298e46be7/tree/ +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/94b50bae2118905dca9c63eaa7f29c322ce155d6/tree/ Bug-Debian: http://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch