]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - fs/aufs/Kconfig
UBUNTU: ubuntu: vbox -- update to 5.2.6-dfsg-5
[mirror_ubuntu-bionic-kernel.git] / fs / aufs / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config AUFS_FS
3 tristate "Aufs (Advanced multi layered unification filesystem) support"
4 help
5 Aufs is a stackable unification filesystem such as Unionfs,
6 which unifies several directories and provides a merged single
7 directory.
8 In the early days, aufs was entirely re-designed and
9 re-implemented Unionfs Version 1.x series. Introducing many
10 original ideas, approaches and improvements, it becomes totally
11 different from Unionfs while keeping the basic features.
12
13 if AUFS_FS
14 choice
15 prompt "Maximum number of branches"
16 default AUFS_BRANCH_MAX_127
17 help
18 Specifies the maximum number of branches (or member directories)
19 in a single aufs. The larger value consumes more system
20 resources and has a minor impact to performance.
21 config AUFS_BRANCH_MAX_127
22 bool "127"
23 help
24 Specifies the maximum number of branches (or member directories)
25 in a single aufs. The larger value consumes more system
26 resources and has a minor impact to performance.
27 config AUFS_BRANCH_MAX_511
28 bool "511"
29 help
30 Specifies the maximum number of branches (or member directories)
31 in a single aufs. The larger value consumes more system
32 resources and has a minor impact to performance.
33 config AUFS_BRANCH_MAX_1023
34 bool "1023"
35 help
36 Specifies the maximum number of branches (or member directories)
37 in a single aufs. The larger value consumes more system
38 resources and has a minor impact to performance.
39 config AUFS_BRANCH_MAX_32767
40 bool "32767"
41 help
42 Specifies the maximum number of branches (or member directories)
43 in a single aufs. The larger value consumes more system
44 resources and has a minor impact to performance.
45 endchoice
46
47 config AUFS_SBILIST
48 bool
49 depends on AUFS_MAGIC_SYSRQ || PROC_FS
50 default y
51 help
52 Automatic configuration for internal use.
53 When aufs supports Magic SysRq or /proc, enabled automatically.
54
55 config AUFS_HNOTIFY
56 bool "Detect direct branch access (bypassing aufs)"
57 help
58 If you want to modify files on branches directly, eg. bypassing aufs,
59 and want aufs to detect the changes of them fully, then enable this
60 option and use 'udba=notify' mount option.
61 Currently there is only one available configuration, "fsnotify".
62 It will have a negative impact to the performance.
63 See detail in aufs.5.
64
65 choice
66 prompt "method" if AUFS_HNOTIFY
67 default AUFS_HFSNOTIFY
68 config AUFS_HFSNOTIFY
69 bool "fsnotify"
70 select FSNOTIFY
71 endchoice
72
73 config AUFS_EXPORT
74 bool "NFS-exportable aufs"
75 depends on EXPORTFS
76 help
77 If you want to export your mounted aufs via NFS, then enable this
78 option. There are several requirements for this configuration.
79 See detail in aufs.5.
80
81 config AUFS_INO_T_64
82 bool
83 depends on AUFS_EXPORT
84 depends on 64BIT && !(ALPHA || S390)
85 default y
86 help
87 Automatic configuration for internal use.
88 /* typedef unsigned long/int __kernel_ino_t */
89 /* alpha and s390x are int */
90
91 config AUFS_XATTR
92 bool "support for XATTR/EA (including Security Labels)"
93 help
94 If your branch fs supports XATTR/EA and you want to make them
95 available in aufs too, then enable this opsion and specify the
96 branch attributes for EA.
97 See detail in aufs.5.
98
99 config AUFS_FHSM
100 bool "File-based Hierarchical Storage Management"
101 help
102 Hierarchical Storage Management (or HSM) is a well-known feature
103 in the storage world. Aufs provides this feature as file-based.
104 with multiple branches.
105 These multiple branches are prioritized, ie. the topmost one
106 should be the fastest drive and be used heavily.
107
108 config AUFS_RDU
109 bool "Readdir in userspace"
110 help
111 Aufs has two methods to provide a merged view for a directory,
112 by a user-space library and by kernel-space natively. The latter
113 is always enabled but sometimes large and slow.
114 If you enable this option, install the library in aufs2-util
115 package, and set some environment variables for your readdir(3),
116 then the work will be handled in user-space which generally
117 shows better performance in most cases.
118 See detail in aufs.5.
119
120 config AUFS_DIRREN
121 bool "Workaround for rename(2)-ing a directory"
122 help
123 By default, aufs returns EXDEV error in renameing a dir who has
124 his child on the lower branch, since it is a bad idea to issue
125 rename(2) internally for every lower branch. But user may not
126 accept this behaviour. So here is a workaround to allow such
127 rename(2) and store some extra infromation on the writable
128 branch. Obviously this costs high (and I don't like it).
129 To use this feature, you need to enable this configuration AND
130 to specify the mount option `dirren.'
131 See details in aufs.5 and the design documents.
132
133 config AUFS_SHWH
134 bool "Show whiteouts"
135 help
136 If you want to make the whiteouts in aufs visible, then enable
137 this option and specify 'shwh' mount option. Although it may
138 sounds like philosophy or something, but in technically it
139 simply shows the name of whiteout with keeping its behaviour.
140
141 config AUFS_BR_RAMFS
142 bool "Ramfs (initramfs/rootfs) as an aufs branch"
143 help
144 If you want to use ramfs as an aufs branch fs, then enable this
145 option. Generally tmpfs is recommended.
146 Aufs prohibited them to be a branch fs by default, because
147 initramfs becomes unusable after switch_root or something
148 generally. If you sets initramfs as an aufs branch and boot your
149 system by switch_root, you will meet a problem easily since the
150 files in initramfs may be inaccessible.
151 Unless you are going to use ramfs as an aufs branch fs without
152 switch_root or something, leave it N.
153
154 config AUFS_BR_FUSE
155 bool "Fuse fs as an aufs branch"
156 depends on FUSE_FS
157 select AUFS_POLL
158 help
159 If you want to use fuse-based userspace filesystem as an aufs
160 branch fs, then enable this option.
161 It implements the internal poll(2) operation which is
162 implemented by fuse only (curretnly).
163
164 config AUFS_POLL
165 bool
166 help
167 Automatic configuration for internal use.
168
169 config AUFS_BR_HFSPLUS
170 bool "Hfsplus as an aufs branch"
171 depends on HFSPLUS_FS
172 default y
173 help
174 If you want to use hfsplus fs as an aufs branch fs, then enable
175 this option. This option introduces a small overhead at
176 copying-up a file on hfsplus.
177
178 config AUFS_BDEV_LOOP
179 bool
180 depends on BLK_DEV_LOOP
181 default y
182 help
183 Automatic configuration for internal use.
184 Convert =[ym] into =y.
185
186 config AUFS_DEBUG
187 bool "Debug aufs"
188 help
189 Enable this to compile aufs internal debug code.
190 It will have a negative impact to the performance.
191
192 config AUFS_MAGIC_SYSRQ
193 bool
194 depends on AUFS_DEBUG && MAGIC_SYSRQ
195 default y
196 help
197 Automatic configuration for internal use.
198 When aufs supports Magic SysRq, enabled automatically.
199 endif