Merge branch 'regulator-5.1' into regulator-next
[linux-2.6-microblaze.git] / fs / ubifs / Kconfig
1 config UBIFS_FS
2         tristate "UBIFS file system support"
3         select CRC16
4         select CRC32
5         select CRYPTO if UBIFS_FS_ADVANCED_COMPR
6         select CRYPTO if UBIFS_FS_LZO
7         select CRYPTO if UBIFS_FS_ZLIB
8         select CRYPTO_LZO if UBIFS_FS_LZO
9         select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
10         select CRYPTO_HASH_INFO
11         depends on MTD_UBI
12         help
13           UBIFS is a file system for flash devices which works on top of UBI.
14
15 if UBIFS_FS
16
17 config UBIFS_FS_ADVANCED_COMPR
18         bool "Advanced compression options"
19         help
20           This option allows to explicitly choose which compressions, if any,
21           are enabled in UBIFS. Removing compressors means inability to read
22           existing file systems.
23
24           If unsure, say 'N'.
25
26 config UBIFS_FS_LZO
27         bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR
28         default y
29         help
30            LZO compressor is generally faster than zlib but compresses worse.
31            Say 'Y' if unsure.
32
33 config UBIFS_FS_ZLIB
34         bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
35         default y
36         help
37           Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
38
39 config UBIFS_ATIME_SUPPORT
40         bool "Access time support"
41         default n
42         help
43           Originally UBIFS did not support atime, because it looked like a bad idea due
44           increased flash wear. This option adds atime support and it is disabled by default
45           to preserve the old behavior. If you enable this option, UBIFS starts updating atime,
46           which means that file-system read operations will cause writes (inode atime
47           updates). This may affect file-system performance and increase flash device wear,
48           so be careful. How often atime is updated depends on the selected strategy:
49           strictatime is the "heavy", relatime is "lighter", etc.
50
51           If unsure, say 'N'
52
53 config UBIFS_FS_XATTR
54         bool "UBIFS XATTR support"
55         default y
56         help
57           Saying Y here includes support for extended attributes (xattrs).
58           Xattrs are name:value pairs associated with inodes by
59           the kernel or by users (see the attr(5) manual page).
60
61           If unsure, say Y.
62
63 config UBIFS_FS_ENCRYPTION
64         bool "UBIFS Encryption"
65         depends on UBIFS_FS_XATTR && BLOCK
66         select FS_ENCRYPTION
67         default n
68         help
69           Enable encryption of UBIFS files and directories. This
70           feature is similar to ecryptfs, but it is more memory
71           efficient since it avoids caching the encrypted and
72           decrypted pages in the page cache.
73
74 config UBIFS_FS_SECURITY
75         bool "UBIFS Security Labels"
76         depends on UBIFS_FS_XATTR
77         default y
78         help
79           Security labels provide an access control facility to support Linux
80           Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
81           Linux. This option enables an extended attribute handler for file
82           security labels in the ubifs filesystem, so that it requires enabling
83           the extended attribute support in advance.
84
85           If you are not using a security module, say N.
86
87 config UBIFS_FS_AUTHENTICATION
88         bool "UBIFS authentication support"
89         depends on KEYS
90         select CRYPTO_HMAC
91         help
92           Enable authentication support for UBIFS. This feature offers protection
93           against offline changes for both data and metadata of the filesystem.
94           If you say yes here you should also select a hashing algorithm such as
95           sha256, these are not selected automatically since there are many
96           different options.
97
98 endif # UBIFS_FS