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