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