config AUFS
 tristate "Another unionfs"
 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
comment "These options are for "#UTS_RELEASE
config AUFS_FAKE_DM
 bool "Use simplified (fake) nameidata"
 depends on AUFS
 default y
 help
 Faking nameidata (linux kernel internal data), you can get
 better performance in some cases.
 When you use NFS as an aufs branch or dlgt aufs mount option,
 you need to disable this configuration.
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_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_RR_SQUASHFS
 bool "Make squashfs branch RR (real readonly) by default"
 depends on AUFS
 default y
 help
 If you use squashfs or LZMA patched squashfs as an aufs branch
 and want to set '=rr' to it by default, then enable this
 configuration.
 'rr' stands for real readonly and it optimizes some aspects of
 'ro.'
 See detail in aufs.5.
config AUFS_FSYNC_SUPER_PATCH
 bool "fsync_super-2.6.xx.patch was applied or not"
 depends on AUFS
 depends on AUFS = m
 default n
 help
 If you build aufs as a module and want to flush everything for
 branch filesystems which are not marked as 'rr' nor 'rr+wh' at
 umount or remount time, then you need to apply the patch
 'CVS_TREE/aufs/patch/fsync_super-2.6.16.patch' or
 '...-2.6.19.patch' to your kernel source, and enable this
 configuration.
 It may be helpful at shutdown time in case of your aufs is a
 root filesystem. But this behaviour will not guarantee the
 consistency of branch filesystems. To gurantee it, try the
 approach described in the aufs manual, and don't forget
 installing auplink script.
 The fsync_super-2.6.xx.patch does nothing but exports a kernel
 function fsync_super() to modules.
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_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
