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 _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
