[PATCH 4/67] aufs configuration

From: hooanon05
Date: Fri May 16 2008 - 11:02:21 EST


From: Junjiro Okajima <hooanon05@xxxxxxxxxxx>

initial commit
aufs configuration

Signed-off-by: Junjiro Okajima <hooanon05@xxxxxxxxxxx>
---
fs/aufs/Kconfig | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 198 insertions(+), 0 deletions(-)

diff --git a/fs/aufs/Kconfig b/fs/aufs/Kconfig
new file mode 100644
index 0000000..aa99e50
--- /dev/null
+++ b/fs/aufs/Kconfig
@@ -0,0 +1,198 @@
+config AUFS
+ bool "Another unionfs (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ help
+ Aufs is a stackable unification filesystem such as Unionfs,
+ which unifies several directories and provides a merged single
+ directory.
+ In the early days, aufs was entirely re-designed and
+ re-implemented Unionfs Version 1.x series. After many original
+ ideas, approaches and improvements, it becomes totally
+ different from Unionfs while keeping the basic features.
+ See Unionfs for the basic features.
+
+if AUFS
+config AUFS_FAKE_DM
+ bool
+ depends on AUFS
+ default n
+
+choice
+ prompt "Maximum number of branches"
+ depends on AUFS
+ default AUFS_BRANCH_MAX_127
+ help
+ Specifies the maximum number of branches (or member directories)
+ in a single aufs. The larger value consumes more system
+ resources and has an impact to performance.
+config AUFS_BRANCH_MAX_127
+ bool "127"
+ help
+ Specifies the maximum number of branches (or member directories)
+ in a single aufs. The larger value consumes more system
+ resources and has an impact to performance.
+config AUFS_BRANCH_MAX_511
+ bool "511"
+ help
+ Specifies the maximum number of branches (or member directories)
+ in a single aufs. The larger value consumes more system
+ resources and has an impact to performance.
+config AUFS_BRANCH_MAX_1023
+ bool "1023"
+ help
+ Specifies the maximum number of branches (or member directories)
+ in a single aufs. The larger value consumes more system
+ resources and has an impact to performance.
+# config AUFS_BRANCH_MAX_32767
+# bool "32767"
+# help
+# Specifies the maximum number of branches (or member directories)
+# in a single aufs. The larger value consumes more system
+# resources and has an impact to performance.
+endchoice
+
+config AUFS_STAT
+ bool "Use <sysfs>/fs/aufs/stat"
+ depends on AUFS
+ depends on SYSFS
+ default n
+ help
+ Shows some statistic data via <sysfs>/fs/aufs/stat.
+ See detail in aufs.5.
+
+config AUFS_HINOTIFY
+ bool "Use inotify to detect actions on a branch"
+ depends on AUFS
+ depends on INOTIFY
+ default n
+ 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.
+ It will damage the performance.
+ See detail in aufs.5.
+
+config AUFS_EXPORT
+ bool "NFS-exportable aufs"
+ depends on AUFS
+ select EXPORTFS
+ default n
+ help
+ If you want to export your mounted aufs, then enable this
+ option. There are several requirements to export aufs.
+ See detail in aufs.5.
+
+config AUFS_ROBR
+ bool "Aufs as an readonly branch of another aufs"
+ depends on AUFS
+ default n
+ help
+ If you want make your aufs to be a part of another aufs, then
+ enable this option. In other words, you can specify your aufs
+ path in 'br:' mount option for another aufs, but cannot
+ specify 'rw' as the branch permission.
+ It will damage the performance.
+ See detail in aufs.5.
+
+config AUFS_DLGT
+ bool "Delegate the internal branch access the kernel thread"
+ depends on AUFS
+ default n
+ help
+ If you want aufs to delegate
+ the internal access to the branches which is made by aufs, to
+ the kernel thread, in order to hide the access issued by your
+ application from your LSM or something or make your
+ application to be traced strictly by the task I/O accounting,
+ then enable this option and use 'dlgt' mount option.
+ It will damage the performance.
+ See detail in aufs.5.
+
+config AUFS_SHWH
+ bool "show whiteouts"
+ depends on AUFS
+ default n
+ help
+ If you want to make the whiteouts in aufs visible, then enable
+ this option and specify 'shwh' mount option. Although it may
+ sounds like philosophy or something, but in technically it
+ simply shows the name of whiteout with keeping its behaviour.
+
+config AUFS_SPLICE_PATCH
+ bool
+ depends on AUFS
+ default y
+
+config AUFS_LHASH_PATCH
+ bool
+ depends on AUFS
+ depends on NFS_FS
+ depends on AUFS_FAKE_DM = n
+ default y
+
+config AUFS_BR_NFS
+ bool
+ depends on AUFS
+ depends on NFS_FS
+ depends on !AUFS_FAKE_DM
+ default n if (!AUFS_LHASH_PATCH || AUFS_FAKE_DM)
+ default y
+
+config AUFS_BR_XFS
+ bool
+ depends on AUFS
+ depends on XFS_FS
+ default y
+
+config AUFS_WORKAROUND_FUSE
+ bool "Special handling for FUSE-based filesystem"
+ depends on AUFS && FUSE_FS
+ default n
+ help
+ A FUSE-based filesystem may not initialize its inode
+ attributes and the FUSE developer thinks the inode attributes
+ in a positive dentry which is returned by VFS lookup operation
+ are not reliable.
+ If you use a FUSE-based filesystem as an aufs branch, and it
+ customizes the inode attribute on it without overriding
+ fuse_lowlevel_ops.lookup, probably you need to enable this
+ configuration.
+ If you enable this configuration, aufs calls getattr operation
+ in every lookup and revalidate operation for the FUSE-based
+ filesystem branch.
+ It will damage the performance even if you don't use a
+ FUSE-based filesystem branch.
+
+config AUFS_DEBUG
+ bool "Debug aufs"
+ depends on AUFS
+ default y
+ help
+ Enable this to compile aufs internal debug code.
+ The performance will be damaged.
+
+config AUFS_MAGIC_SYSRQ
+ bool
+ depends on AUFS
+ depends on AUFS_DEBUG
+ depends on MAGIC_SYSRQ
+ default y
+
+config AUFS_COMPAT
+ bool "Compatibility with Unionfs (obsolete)"
+ depends on AUFS
+ default n
+ help
+ This makes aufs compatible with unionfs-style mount options and some
+ behaviours.
+ The dirs= mount option and =nfsro branch permission flag are always
+ interpreted as br: mount option and =ro flag respectively. The
+ 'debug', 'delete' and 'imap' mount options are ignored.
+ If you disable this option, you will get,
+ - aufs issues a warning about the ignored mount options
+ - the default branch permission flag is set. RW for the first branch,
+ and RO for the rests.
+ - the name of a internal file which represents the directory is
+ 'opaque', becomes '.wh..wh..opq'
+ - the 'diropq=w' mount option is set by default
+endif
--
1.4.4.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/