packages (LINUX_2_6_33): kernel/kernel-aufs2.patch - 2010.04.15 snapshot
zbyniu
zbyniu at pld-linux.org
Fri May 21 11:59:45 CEST 2010
Author: zbyniu Date: Fri May 21 09:59:45 2010 GMT
Module: packages Tag: LINUX_2_6_33
---- Log message:
- 2010.04.15 snapshot
---- Files affected:
packages/kernel:
kernel-aufs2.patch (1.6 -> 1.6.2.1)
---- Diffs:
================================================================
Index: packages/kernel/kernel-aufs2.patch
diff -u packages/kernel/kernel-aufs2.patch:1.6 packages/kernel/kernel-aufs2.patch:1.6.2.1
--- packages/kernel/kernel-aufs2.patch:1.6 Tue Sep 22 01:32:18 2009
+++ packages/kernel/kernel-aufs2.patch Fri May 21 11:59:39 2010
@@ -1,6 +1,8 @@
-diff -uprN -x .git linux-2.6.31/Documentation/ABI/testing/debugfs-aufs aufs2-2.6.git/Documentation/ABI/testing/debugfs-aufs
---- linux-2.6.31/Documentation/ABI/testing/debugfs-aufs 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/ABI/testing/debugfs-aufs 2009-09-14 14:52:35.032396516 +0000
+diff --git a/Documentation/ABI/testing/debugfs-aufs b/Documentation/ABI/testing/debugfs-aufs
+new file mode 100644
+index 0000000..4110b94
+--- /dev/null
++++ b/Documentation/ABI/testing/debugfs-aufs
@@ -0,0 +1,40 @@
+What: /debug/aufs/si_<id>/
+Date: March 2009
@@ -42,9 +44,11 @@
+ When the aufs mount option 'noxino' is specified, it
+ will be empty. About XINO files, see
+ Documentation/filesystems/aufs/aufs.5 in detail.
-diff -uprN -x .git linux-2.6.31/Documentation/ABI/testing/sysfs-aufs aufs2-2.6.git/Documentation/ABI/testing/sysfs-aufs
---- linux-2.6.31/Documentation/ABI/testing/sysfs-aufs 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/ABI/testing/sysfs-aufs 2009-09-14 14:52:35.032396516 +0000
+diff --git a/Documentation/ABI/testing/sysfs-aufs b/Documentation/ABI/testing/sysfs-aufs
+new file mode 100644
+index 0000000..ca49330
+--- /dev/null
++++ b/Documentation/ABI/testing/sysfs-aufs
@@ -0,0 +1,25 @@
+What: /sys/fs/aufs/si_<id>/
+Date: March 2009
@@ -71,10 +75,12 @@
+ When the aufs mount option 'noxino' is specified, it
+ will be empty. About XINO files, see
+ Documentation/filesystems/aufs/aufs.5 in detail.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/README aufs2-2.6.git/Documentation/filesystems/aufs/README
---- linux-2.6.31/Documentation/filesystems/aufs/README 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/README 2009-09-21 21:48:58.761610020 +0000
-@@ -0,0 +1,342 @@
+diff --git a/Documentation/filesystems/aufs/README b/Documentation/filesystems/aufs/README
+new file mode 100644
+index 0000000..7b5969b
+--- /dev/null
++++ b/Documentation/filesystems/aufs/README
+@@ -0,0 +1,349 @@
+
+Aufs2 -- advanced multi layered unification filesystem version 2
+http://aufs.sf.net
@@ -148,6 +154,7 @@
+- pseudo hardlink (hardlink over branches)
+- allow a direct access manually to a file on branch, e.g. bypassing aufs.
+ including NFS or remote filesystem branch.
++- userspace wrapper for pathconf(3)/fpathconf(3) with _PC_LINK_MAX.
+- and more...
+
+Currently these features are dropped temporary from this version, aufs2.
@@ -203,9 +210,10 @@
+- generate a ChangeLog file from git-log.
+- commit the files newly and no log messages. this is not git-pull.
+
-+Both of aufs2-2.6 and aufs2-standalone trees have a branch whose name is
-+in form of "aufs2-xx" where "xx" represents the linux kernel version,
-+"linux-2.6.xx".
++Both of aufs2-2.6 and aufs2-standalone trees have branches whose name is
++in form of "aufs2" or "aufs2-xx" where "xx" represents the linux kernel
++version, "linux-2.6.xx". For instance, "aufs2" (no -xx) for the latest
++-rc version, and "aufs2-27" for linux-2.6.27,
+
+o aufs2-2.6 tree
+$ git clone --reference /your/linux-2.6/git/tree \
@@ -213,15 +221,13 @@
+ aufs2-2.6.git
+- if you don't have linux-2.6 GIT tree, then remove "--reference ..."
+$ cd aufs2-2.6.git
-+$ git checkout origin/aufs2-xx # for instance, aufs2-27 for linux-2.6.27
-+ # aufs2 (no -xx) for the latest -rc version.
++$ git checkout origin/aufs2-27
+
+o aufs2-standalone tree
+$ git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git \
+ aufs2-standalone.git
+$ cd aufs2-standalone.git
-+$ git checkout origin/aufs2-xx # for instance, aufs2-27 for linux-2.6.27
-+ # aufs2 (no -xx) for the latest -rc version.
++$ git checkout origin/aufs2-27
+
+o aufs2-util tree
+$ git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git \
@@ -283,6 +289,8 @@
+
+3. Configuration and Compilation
+----------------------------------------
++Make sure you have git-checkout'ed the correct branch.
++
+For aufs2-2.6 tree,
+- enable CONFIG_EXPERIMENTAL and CONFIG_AUFS_FS.
+- set other aufs configurations if necessary.
@@ -325,8 +333,9 @@
+
+And then,
+- read README in aufs2-util, build and install it
-+- if you want to use readdir(3) in userspace, then run
-+ "make install_ulib" too. And refer to the aufs manual in detail.
++- if you want to use readdir(3) in userspace or pathconf(3) wrapper,
++ then run "make install_ulib" too. And refer to the aufs manual in
++ detail.
+
+
+4. Usage
@@ -352,6 +361,9 @@
+the one under /tmp/rw. This is called the file based Copy on Write
+(COW) method.
+Aufs mount options are described in aufs.5.
++If you run chroot or something and make your aufs as a root directory,
++then you need to customize the shutdown script. See the aufs manual in
++detail.
+
+Additionally, there are some sample usages of aufs which are a
+diskless system with network booting, and LiveCD over NFS.
@@ -399,7 +411,8 @@
+William Grant made a donation (2009/3).
+Patrick Lane made a donation (2009/4).
+The Mail Archive (mail-archive.com) made donations (2009/5).
-+Nippy Networks (Ed Wildgoose) a donation (2009/7).
++Nippy Networks (Ed Wildgoose) made a donation (2009/7).
++New Dream Network, LLC (www.dreamhost.com) made a donation (2009/11).
+
+Thank you very much.
+Donations are always, including future donations, very important and
@@ -417,12 +430,14 @@
+# Local variables: ;
+# mode: text;
+# End: ;
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/01intro.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/01intro.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/01intro.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/01intro.txt 2009-09-21 21:48:58.761610020 +0000
+diff --git a/Documentation/filesystems/aufs/design/01intro.txt b/Documentation/filesystems/aufs/design/01intro.txt
+new file mode 100644
+index 0000000..d09710a
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/01intro.txt
@@ -0,0 +1,137 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -514,7 +529,7 @@
+3. a virtual filesystem which maintains persistent inode number
+4. reader/writer of files on branches such like an application
+
-+1. Caller of VFS Helper
++1. Callee of VFS Helper
+As an ordinary linux filesystem, aufs is a callee of VFS. For instance,
+unlink(2) from an application reaches sys_unlink() kernel function and
+then vfs_unlink() is called. vfs_unlink() is one of VFS helper and it
@@ -558,12 +573,14 @@
+Some people may think it is better to pass such work to user space
+helper, instead of doing in kernel space. Actually I am still thinking
+about it. But currently I have implemented it in kernel space.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/02struct.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/02struct.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/02struct.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/02struct.txt 2009-09-21 21:48:58.761610020 +0000
-@@ -0,0 +1,218 @@
+diff --git a/Documentation/filesystems/aufs/design/02struct.txt b/Documentation/filesystems/aufs/design/02struct.txt
+new file mode 100644
+index 0000000..4b8e253
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/02struct.txt
+@@ -0,0 +1,217 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -691,7 +708,7 @@
+reduce the number of consumed disk blocks for these files.
+
+
-+Virtual or Vertical Dir
++Virtual or Vertical Dir, and Readdir in Userspace
+----------------------------------------------------------------------
+In order to support multiple layers (branches), aufs readdir operation
+constructs a virtual dir block on memory. For readdir, aufs calls
@@ -738,11 +755,10 @@
+If aufs didn't adopt the workqueue and changed the privilege of the
+process, and if the mkdir/write call arises SIGXFSZ or other signal,
+then the user process might gain a privilege or the generated core file
-+was owned by a superuser. But I have a plan to switch to a new
-+credential approach which will be introduced in linux-2.6.29.
++was owned by a superuser.
+
+Also aufs uses the system global workqueue ("events" kernel thread) too
-+for asynchronous tasks, such like handling inotify, re-creating a
++for asynchronous tasks, such like handling inotify/fsnotify, re-creating a
+whiteout base and etc. This is unrelated to a privilege.
+Most of aufs operation tries acquiring a rw_semaphore for aufs
+superblock at the beginning, at the same time waits for the completion
@@ -780,12 +796,14 @@
+internally and makes change to the new file on the upper writable branch.
+When the trigger systemcall does not update the timestamps of the parent
+dir, aufs reverts it after copy-up.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/03lookup.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/03lookup.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/03lookup.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/03lookup.txt 2009-09-21 21:48:58.761610020 +0000
+diff --git a/Documentation/filesystems/aufs/design/03lookup.txt b/Documentation/filesystems/aufs/design/03lookup.txt
+new file mode 100644
+index 0000000..60c95ba
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/03lookup.txt
@@ -0,0 +1,104 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -870,11 +888,11 @@
+ branch in the "actual operation" (step 4). When this validation
+ fails, aufs returns EBUSY. ->d_revalidate() (step 3) in aufs still
+ checks the validation of the dentry on branches.
-+2. Monitor Changes Internally by Inotify
++2. Monitor Changes Internally by Inotify/Fsnotify
+ Addition to above, in the "actual operation" (step 4) aufs re-lookup
+ the dentry on the branch, and returns EBUSY if it finds different
+ dentry.
-+ Additionally, aufs sets the inotify watch for every dir on branches
++ Additionally, aufs sets the inotify/fsnotify watch for every dir on branches
+ during it is in cache. When the event is notified, aufs registers a
+ function to kernel 'events' thread by schedule_work(). And the
+ function sets some special status to the cached aufs dentry and inode
@@ -888,12 +906,14 @@
+ test, and skip therevalidatin in step 4. It is useful and improves
+ aufs performance when system surely hide the aufs branches from user,
+ by over-mounting something (or another method).
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/04branch.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/04branch.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/04branch.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/04branch.txt 2009-09-21 21:48:58.761610020 +0000
+diff --git a/Documentation/filesystems/aufs/design/04branch.txt b/Documentation/filesystems/aufs/design/04branch.txt
+new file mode 100644
+index 0000000..fb0f7f4
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/04branch.txt
@@ -0,0 +1,76 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -945,7 +965,7 @@
+ manipulate branches. It is to discard caches. At deleting a branch,
+ aufs checks the still cached (and connected) dentries and inodes. If
+ there are any, then they are all in-use. An inode without its
-+ corresponding dentry can be alive alone (for example, inotify case).
++ corresponding dentry can be alive alone (for example, inotify/fsnotify case).
+
+ For the cached one, aufs checks whether the same named entry exists on
+ other branches.
@@ -968,12 +988,14 @@
+ - a file on the branch is mmap-ed.
+ - a regular file on the branch is opened for write and there is no
+ same named entry on the upper branch.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/05wbr_policy.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/05wbr_policy.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/05wbr_policy.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/05wbr_policy.txt 2009-09-21 21:48:58.761610020 +0000
+diff --git a/Documentation/filesystems/aufs/design/05wbr_policy.txt b/Documentation/filesystems/aufs/design/05wbr_policy.txt
+new file mode 100644
+index 0000000..0ad1dd0
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/05wbr_policy.txt
@@ -0,0 +1,65 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -1037,49 +1059,14 @@
+ where the source and the target exists and selects the higher
+ one. If the selected branch is readonly, then aufs follows the
+ copyup policy.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/06fmode_exec.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/06fmode_exec.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/06fmode_exec.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/06fmode_exec.txt 2009-09-21 21:48:58.761610020 +0000
-@@ -0,0 +1,33 @@
-+
-+# Copyright (C) 2005-2009 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
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+
-+FMODE_EXEC and deny_write()
-+----------------------------------------------------------------------
-+Generally Unix prevents an executing file from writing its filedata.
-+In linux it is implemented by deny_write() and allow_write().
-+When a file is executed by exec() family, open_exec() (and sys_uselib())
-+they opens the file and calls deny_write(). If the file is aufs's virtual
-+one, it has no meaning. The file which deny_write() is really necessary
-+is the file on a branch. But the FMODE_EXEC flag is not passed to
-+->open() operation. So aufs adopt a dirty trick.
-+
-+- in order to get FMODE_EXEC, aufs ->lookup() and ->d_revalidate() set
-+ nd->intent.open.file->private_data to nd->intent.open.flags temporary.
-+- in aufs ->open(), when FMODE_EXEC is set in file->private_data, it
-+ calls deny_write() for the file on a branch.
-+- when the aufs file is released, allow_write() for the file on a branch
-+ is called.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/07mmap.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/07mmap.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/07mmap.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/07mmap.txt 2009-09-21 21:48:58.761610020 +0000
+diff --git a/Documentation/filesystems/aufs/design/06mmap.txt b/Documentation/filesystems/aufs/design/06mmap.txt
+new file mode 100644
+index 0000000..ae2655f
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/06mmap.txt
@@ -0,0 +1,53 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -1131,12 +1118,14 @@
+filedata are copied from the lower (real) file into the Unionfs's
+virtual one and handles it by address_space operations. Recently Unionfs
+changed it to this approach which aufs adopted since Jul 2006.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/08export.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/08export.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/08export.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/08export.txt 2009-09-21 21:48:58.761610020 +0000
+diff --git a/Documentation/filesystems/aufs/design/07export.txt b/Documentation/filesystems/aufs/design/07export.txt
+new file mode 100644
+index 0000000..8e2422b
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/07export.txt
@@ -0,0 +1,59 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -1194,12 +1183,14 @@
+ convert it into ESTALE for NFSD.
+- readdir(): call lockdep_on/off() because filldir in NFSD calls
+ lookup_one_len(), vfs_getattr(), encode_fh() and others.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/09shwh.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/09shwh.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/09shwh.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/09shwh.txt 2009-09-21 21:48:58.761610020 +0000
+diff --git a/Documentation/filesystems/aufs/design/08shwh.txt b/Documentation/filesystems/aufs/design/08shwh.txt
+new file mode 100644
+index 0000000..36e4b3c
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/08shwh.txt
@@ -0,0 +1,53 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -1251,12 +1242,14 @@
+
+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.
-diff -uprN -x .git linux-2.6.31/Documentation/filesystems/aufs/design/99plan.txt aufs2-2.6.git/Documentation/filesystems/aufs/design/99plan.txt
---- linux-2.6.31/Documentation/filesystems/aufs/design/99plan.txt 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/Documentation/filesystems/aufs/design/99plan.txt 2009-09-21 21:48:58.765776628 +0000
+diff --git a/Documentation/filesystems/aufs/design/99plan.txt b/Documentation/filesystems/aufs/design/99plan.txt
+new file mode 100644
+index 0000000..5dddd41
+--- /dev/null
++++ b/Documentation/filesystems/aufs/design/99plan.txt
@@ -0,0 +1,96 @@
+
-+# Copyright (C) 2005-2009 Junjiro R. Okajima
++# Copyright (C) 2005-2010 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
@@ -1351,29 +1344,33 @@
+Opened File) is specified (by default), aufs returns the filedata from
+/new.
+Otherwise from /new.
-diff -uprN -x .git linux-2.6.31/fs/Kconfig aufs2-2.6.git/fs/Kconfig
---- linux-2.6.31/fs/Kconfig 2009-09-09 22:13:59.000000000 +0000
-+++ aufs2-2.6.git/fs/Kconfig 2009-09-21 21:49:23.315008102 +0000
-@@ -187,6 +187,7 @@ source "fs/sysv/Kconfig"
+diff --git a/fs/Kconfig b/fs/Kconfig
+index 64d44ef..3e1f2f0 100644
+--- a/fs/Kconfig
++++ b/fs/Kconfig
+@@ -188,6 +188,7 @@ source "fs/romfs/Kconfig"
+ source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig"
source "fs/exofs/Kconfig"
- source "fs/nilfs2/Kconfig"
+source "fs/aufs/Kconfig"
endif # MISC_FILESYSTEMS
-diff -uprN -x .git linux-2.6.31/fs/Makefile aufs2-2.6.git/fs/Makefile
---- linux-2.6.31/fs/Makefile 2009-09-09 22:13:59.000000000 +0000
-+++ aufs2-2.6.git/fs/Makefile 2009-09-14 14:52:35.065948532 +0000
+diff --git a/fs/Makefile b/fs/Makefile
+index af6d047..dba1ce1 100644
+--- a/fs/Makefile
++++ b/fs/Makefile
@@ -124,3 +124,4 @@ obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_BTRFS_FS) += btrfs/
obj-$(CONFIG_GFS2_FS) += gfs2/
obj-$(CONFIG_EXOFS_FS) += exofs/
+obj-$(CONFIG_AUFS_FS) += aufs/
-diff -uprN -x .git linux-2.6.31/fs/aufs/Kconfig aufs2-2.6.git/fs/aufs/Kconfig
---- linux-2.6.31/fs/aufs/Kconfig 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/fs/aufs/Kconfig 2009-09-21 21:49:23.374524295 +0000
-@@ -0,0 +1,140 @@
+diff --git a/fs/aufs/Kconfig b/fs/aufs/Kconfig
+new file mode 100644
+index 0000000..4c9f524
+--- /dev/null
++++ b/fs/aufs/Kconfig
+@@ -0,0 +1,172 @@
+config AUFS_FS
+ bool "Aufs (Advanced multi layered unification filesystem) support"
+ depends on EXPERIMENTAL
@@ -1420,16 +1417,28 @@
+ resources and has a minor impact to performance.
+endchoice
+
-+config AUFS_HINOTIFY
-+ bool "Use inotify to detect actions on a branch"
-+ depends on INOTIFY
++config AUFS_HNOTIFY
++ bool "Detect direct branch access (bypassing aufs)"
+ help
+ If you want to modify files on branches directly, eg. bypassing aufs,
+ and want aufs to detect the changes of them fully, then enable this
-+ option and use 'udba=inotify' mount option.
++ option and use 'udba=notify' mount option.
+ It will have a negative impact to the performance.
+ See detail in aufs.5.
+
++if AUFS_HNOTIFY
++choice
++ prompt ""
++ default AUFS_HFSNOTIFY
++config AUFS_HFSNOTIFY
++ bool "fsnotify"
++ select FSNOTIFY
++config AUFS_HINOTIFY
++ bool "inotify (DEPRECATED)"
++ depends on INOTIFY
++endchoice
++endif
++
+config AUFS_EXPORT
+ bool "NFS-exportable aufs"
+ depends on EXPORTFS = y
@@ -1438,6 +1447,16 @@
+ option. There are several requirements for this configuration.
+ See detail in aufs.5.
+
++config AUFS_INO_T_64
++ bool
++ depends on AUFS_EXPORT
++ depends on 64BIT && !(ALPHA || S390)
++ default y
++ help
++ Automatic configuration for internal use.
++ /* typedef unsigned long/int __kernel_ino_t */
++ /* alpha and s390x are int */
++
+config AUFS_RDU
+ bool "Readdir in userspace"
+ help
@@ -1446,6 +1465,17 @@
+ environment variables for your readdir(3).
+ See detail in aufs.5.
+
++config AUFS_SP_IATTR
++ bool "Respect the attributes (mtime/ctime mainly) of special files"
++ help
++ When you write something to a special file, some attributes of it
++ (mtime/ctime mainly) may be updated. Generally such updates are
++ less important (actually some device drivers and NFS ignore
++ it). But some applications (such like test program) requires
++ such updates. If you need these updates, then enable this
++ configuration which introduces some overhead.
++ Currently this configuration handles FIFO only.
++
+config AUFS_SHWH
+ bool "Show whiteouts"
+ help
@@ -1477,19 +1507,19 @@
+ It implements the internal poll(2) operation which is
+ implemented by fuse only (curretnly).
+
-+config AUFS_DEBUG
-+ bool "Debug aufs"
++config AUFS_POLL
++ bool
+ help
-+ Enable this to compile aufs internal debug code.
-+ It will have a negative impact to the performance.
++ Automatic configuration for internal use.
+
-+config AUFS_MAGIC_SYSRQ
-+ bool
-+ depends on AUFS_DEBUG && MAGIC_SYSRQ
++config AUFS_BR_HFSPLUS
++ bool "Hfsplus as an aufs branch"
++ depends on HFSPLUS_FS
+ default y
+ help
-+ Automatic configuration for internal use.
-+ When aufs supports Magic SysRq, enabled automatically.
++ If you want to use hfsplus fs as an aufs branch fs, then enable
++ this option. This option introduces a small overhead at
++ copying-up a file on hfsplus.
+
+config AUFS_BDEV_LOOP
+ bool
@@ -1499,28 +1529,35 @@
+ Automatic configuration for internal use.
+ Convert =[ym] into =y.
+
-+config AUFS_INO_T_64
-+ bool
-+ depends on AUFS_EXPORT
-+ depends on 64BIT && !(ALPHA || S390)
-+ default y
++config AUFS_DEBUG
++ bool "Debug aufs"
+ help
-+ Automatic configuration for internal use.
-+ /* typedef unsigned long/int __kernel_ino_t */
-+ /* alpha and s390x are int */
++ Enable this to compile aufs internal debug code.
++ It will have a negative impact to the performance.
+
-+config AUFS_POLL
++config AUFS_MAGIC_SYSRQ
+ bool
++ depends on AUFS_DEBUG && MAGIC_SYSRQ
++ default y
+ help
+ Automatic configuration for internal use.
++ When aufs supports Magic SysRq, enabled automatically.
+endif
-diff -uprN -x .git linux-2.6.31/fs/aufs/Makefile aufs2-2.6.git/fs/aufs/Makefile
---- linux-2.6.31/fs/aufs/Makefile 1970-01-01 00:00:00.000000000 +0000
-+++ aufs2-2.6.git/fs/aufs/Makefile 2009-09-21 21:49:23.374524295 +0000
-@@ -0,0 +1,23 @@
+diff --git a/fs/aufs/Makefile b/fs/aufs/Makefile
+new file mode 100644
+index 0000000..a093c45
+--- /dev/null
++++ b/fs/aufs/Makefile
+@@ -0,0 +1,33 @@
+
+include ${srctree}/${src}/magic.mk
+
++# cf. include/linux/kernel.h
++# enable pr_debug
++ccflags-y += -DDEBUG
++ccflags-y += -D'pr_fmt(fmt)="aufs %s:%d:%s[%d]: " fmt, \
++ __func__, __LINE__, current->comm, current->pid'
++
+obj-$(CONFIG_AUFS_FS) += aufs.o
+aufs-y := module.o sbinfo.o super.o branch.o xino.o sysaufs.o opts.o \
+ wkq.o vfsub.o dcsub.o \
@@ -1535,18 +1572,24 @@
+aufs-$(CONFIG_SYSFS) += sysfs.o
+aufs-$(CONFIG_DEBUG_FS) += dbgaufs.o
+aufs-$(CONFIG_AUFS_BDEV_LOOP) += loop.o
++aufs-$(CONFIG_AUFS_HNOTIFY) += hnotify.o
++aufs-$(CONFIG_AUFS_HFSNOTIFY) += hfsnotify.o
+aufs-$(CONFIG_AUFS_HINOTIFY) += hinotify.o
+aufs-$(CONFIG_AUFS_EXPORT) += export.o
+aufs-$(CONFIG_AUFS_POLL) += poll.o
+aufs-$(CONFIG_AUFS_RDU) += rdu.o
++aufs-$(CONFIG_AUFS_SP_IATTR) += f_op_sp.o
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-aufs2.patch?r1=1.6&r2=1.6.2.1&f=u
More information about the pld-cvs-commit
mailing list