~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/squashfs/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /fs/squashfs/Kconfig (Version linux-6.12-rc7) and /fs/squashfs/Kconfig (Version linux-6.10.14)


  1 # SPDX-License-Identifier: GPL-2.0-only             1 # SPDX-License-Identifier: GPL-2.0-only
  2 config SQUASHFS                                     2 config SQUASHFS
  3         tristate "SquashFS 4.0 - Squashed file      3         tristate "SquashFS 4.0 - Squashed file system support"
  4         depends on BLOCK                            4         depends on BLOCK
  5         help                                        5         help
  6           Saying Y here includes support for S      6           Saying Y here includes support for SquashFS 4.0 (a Compressed
  7           Read-Only File System).  Squashfs is      7           Read-Only File System).  Squashfs is a highly compressed read-only
  8           filesystem for Linux.  It uses zlib,      8           filesystem for Linux.  It uses zlib, lzo or xz compression to
  9           compress both files, inodes and dire      9           compress both files, inodes and directories.  Inodes in the system
 10           are very small and all blocks are pa     10           are very small and all blocks are packed to minimise data overhead.
 11           Block sizes greater than 4K are supp     11           Block sizes greater than 4K are supported up to a maximum of 1 Mbytes
 12           (default block size 128K).  SquashFS     12           (default block size 128K).  SquashFS 4.0 supports 64 bit filesystems
 13           and files (larger than 4GB), full ui     13           and files (larger than 4GB), full uid/gid information, hard links and
 14           timestamps.                              14           timestamps.
 15                                                    15 
 16           Squashfs is intended for general rea     16           Squashfs is intended for general read-only filesystem use, for
 17           archival use (i.e. in cases where a      17           archival use (i.e. in cases where a .tar.gz file may be used), and in
 18           embedded systems where low overhead      18           embedded systems where low overhead is needed.  Further information
 19           and tools are available from http://     19           and tools are available from http://squashfs.sourceforge.net.
 20                                                    20 
 21           If you want to compile this as a mod     21           If you want to compile this as a module ( = code which can be
 22           inserted in and removed from the run     22           inserted in and removed from the running kernel whenever you want),
 23           say M here.  The module will be call     23           say M here.  The module will be called squashfs.  Note that the root
 24           file system (the one containing the      24           file system (the one containing the directory /) cannot be compiled
 25           as a module.                             25           as a module.
 26                                                    26 
 27           If unsure, say N.                        27           If unsure, say N.
 28                                                    28 
 29 choice                                             29 choice
 30         prompt "File decompression options"        30         prompt "File decompression options"
 31         depends on SQUASHFS                        31         depends on SQUASHFS
 32         help                                       32         help
 33           Squashfs now supports two options fo     33           Squashfs now supports two options for decompressing file
 34           data.  Traditionally Squashfs has de     34           data.  Traditionally Squashfs has decompressed into an
 35           intermediate buffer and then memcopi     35           intermediate buffer and then memcopied it into the page cache.
 36           Squashfs now supports the ability to     36           Squashfs now supports the ability to decompress directly into
 37           the page cache.                          37           the page cache.
 38                                                    38 
 39           If unsure, select "Decompress file d     39           If unsure, select "Decompress file data into an intermediate buffer"
 40                                                    40 
 41 config SQUASHFS_FILE_CACHE                         41 config SQUASHFS_FILE_CACHE
 42         bool "Decompress file data into an int     42         bool "Decompress file data into an intermediate buffer"
 43         help                                       43         help
 44           Decompress file data into an interme     44           Decompress file data into an intermediate buffer and then
 45           memcopy it into the page cache.          45           memcopy it into the page cache.
 46                                                    46 
 47 config SQUASHFS_FILE_DIRECT                        47 config SQUASHFS_FILE_DIRECT
 48         bool "Decompress files directly into t     48         bool "Decompress files directly into the page cache"
 49         help                                       49         help
 50           Directly decompress file data into t     50           Directly decompress file data into the page cache.
 51           Doing so can significantly improve p     51           Doing so can significantly improve performance because
 52           it eliminates a memcpy and it also r     52           it eliminates a memcpy and it also removes the lock contention
 53           on the single buffer.                    53           on the single buffer.
 54                                                    54 
 55 endchoice                                          55 endchoice
 56                                                    56 
 57 config SQUASHFS_DECOMP_SINGLE                      57 config SQUASHFS_DECOMP_SINGLE
 58         depends on SQUASHFS                        58         depends on SQUASHFS
 59         def_bool n                                 59         def_bool n
 60                                                    60 
 61 config SQUASHFS_DECOMP_MULTI                       61 config SQUASHFS_DECOMP_MULTI
 62         depends on SQUASHFS                        62         depends on SQUASHFS
 63         def_bool n                                 63         def_bool n
 64                                                    64 
 65 config SQUASHFS_DECOMP_MULTI_PERCPU                65 config SQUASHFS_DECOMP_MULTI_PERCPU
 66         depends on SQUASHFS                        66         depends on SQUASHFS
 67         def_bool n                                 67         def_bool n
 68                                                    68 
 69 config SQUASHFS_CHOICE_DECOMP_BY_MOUNT             69 config SQUASHFS_CHOICE_DECOMP_BY_MOUNT
 70         bool "Select the parallel decompressio     70         bool "Select the parallel decompression mode during mount"
 71         depends on SQUASHFS                        71         depends on SQUASHFS
 72         default n                                  72         default n
 73         select SQUASHFS_DECOMP_SINGLE              73         select SQUASHFS_DECOMP_SINGLE
 74         select SQUASHFS_DECOMP_MULTI               74         select SQUASHFS_DECOMP_MULTI
 75         select SQUASHFS_DECOMP_MULTI_PERCPU        75         select SQUASHFS_DECOMP_MULTI_PERCPU
 76         select SQUASHFS_MOUNT_DECOMP_THREADS       76         select SQUASHFS_MOUNT_DECOMP_THREADS
 77         help                                       77         help
 78           Compile all parallel decompression m     78           Compile all parallel decompression modes and specify the
 79           decompression mode by setting "threa     79           decompression mode by setting "threads=" during mount.
 80           default Decompressor parallelisation     80           default Decompressor parallelisation is SQUASHFS_DECOMP_SINGLE
 81                                                    81 
 82 choice                                             82 choice
 83         prompt "Select decompression parallel      83         prompt "Select decompression parallel mode at compile time"
 84         depends on SQUASHFS                        84         depends on SQUASHFS
 85         depends on !SQUASHFS_CHOICE_DECOMP_BY_     85         depends on !SQUASHFS_CHOICE_DECOMP_BY_MOUNT
 86         help                                       86         help
 87           Squashfs now supports three parallel     87           Squashfs now supports three parallelisation options for
 88           decompression.  Each one exhibits va     88           decompression.  Each one exhibits various trade-offs between
 89           decompression performance and CPU an     89           decompression performance and CPU and memory usage.
 90                                                    90 
 91           If in doubt, select "Single threaded     91           If in doubt, select "Single threaded compression"
 92                                                    92 
 93 config SQUASHFS_COMPILE_DECOMP_SINGLE              93 config SQUASHFS_COMPILE_DECOMP_SINGLE
 94         bool "Single threaded compression"         94         bool "Single threaded compression"
 95         select SQUASHFS_DECOMP_SINGLE              95         select SQUASHFS_DECOMP_SINGLE
 96         help                                       96         help
 97           Traditionally Squashfs has used sing     97           Traditionally Squashfs has used single-threaded decompression.
 98           Only one block (data or metadata) ca     98           Only one block (data or metadata) can be decompressed at any
 99           one time.  This limits CPU and memor     99           one time.  This limits CPU and memory usage to a minimum.
100                                                   100 
101 config SQUASHFS_COMPILE_DECOMP_MULTI              101 config SQUASHFS_COMPILE_DECOMP_MULTI
102         bool "Use multiple decompressors for p    102         bool "Use multiple decompressors for parallel I/O"
103         select SQUASHFS_DECOMP_MULTI              103         select SQUASHFS_DECOMP_MULTI
104         help                                      104         help
105           By default Squashfs uses a single de    105           By default Squashfs uses a single decompressor but it gives
106           poor performance on parallel I/O wor    106           poor performance on parallel I/O workloads when using multiple CPU
107           machines due to waiting on decompres    107           machines due to waiting on decompressor availability.
108                                                   108 
109           If you have a parallel I/O workload     109           If you have a parallel I/O workload and your system has enough memory,
110           using this option may improve overal    110           using this option may improve overall I/O performance.
111                                                   111 
112           This decompressor implementation use    112           This decompressor implementation uses up to two parallel
113           decompressors per core.  It dynamica    113           decompressors per core.  It dynamically allocates decompressors
114           on a demand basis.                      114           on a demand basis.
115                                                   115 
116 config SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU       116 config SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU
117         bool "Use percpu multiple decompressor    117         bool "Use percpu multiple decompressors for parallel I/O"
118         select SQUASHFS_DECOMP_MULTI_PERCPU       118         select SQUASHFS_DECOMP_MULTI_PERCPU
119         help                                      119         help
120           By default Squashfs uses a single de    120           By default Squashfs uses a single decompressor but it gives
121           poor performance on parallel I/O wor    121           poor performance on parallel I/O workloads when using multiple CPU
122           machines due to waiting on decompres    122           machines due to waiting on decompressor availability.
123                                                   123 
124           This decompressor implementation use    124           This decompressor implementation uses a maximum of one
125           decompressor per core.  It uses perc    125           decompressor per core.  It uses percpu variables to ensure
126           decompression is load-balanced acros    126           decompression is load-balanced across the cores.
127 endchoice                                         127 endchoice
128                                                   128 
129 config SQUASHFS_MOUNT_DECOMP_THREADS              129 config SQUASHFS_MOUNT_DECOMP_THREADS
130         bool "Add the mount parameter 'threads    130         bool "Add the mount parameter 'threads=' for squashfs"
131         depends on SQUASHFS                       131         depends on SQUASHFS
132         depends on SQUASHFS_DECOMP_MULTI          132         depends on SQUASHFS_DECOMP_MULTI
133         default n                                 133         default n
134         help                                      134         help
135           Use threads= to set the decompressio    135           Use threads= to set the decompression parallel mode and the number of threads.
136           If SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y    136           If SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y
137               threads=<single|multi|percpu|1|2    137               threads=<single|multi|percpu|1|2|3|...>
138           else                                    138           else
139               threads=<2|3|...>                   139               threads=<2|3|...>
140           The upper limit is num_online_cpus()    140           The upper limit is num_online_cpus() * 2.
141                                                   141 
142 config SQUASHFS_XATTR                             142 config SQUASHFS_XATTR
143         bool "Squashfs XATTR support"             143         bool "Squashfs XATTR support"
144         depends on SQUASHFS                       144         depends on SQUASHFS
145         help                                      145         help
146           Saying Y here includes support for e    146           Saying Y here includes support for extended attributes (xattrs).
147           Xattrs are name:value pairs associat    147           Xattrs are name:value pairs associated with inodes by
148           the kernel or by users (see the attr    148           the kernel or by users (see the attr(5) manual page).
149                                                   149 
150           If unsure, say N.                       150           If unsure, say N.
151                                                   151 
152 config SQUASHFS_ZLIB                              152 config SQUASHFS_ZLIB
153         bool "Include support for ZLIB compres    153         bool "Include support for ZLIB compressed file systems"
154         depends on SQUASHFS                       154         depends on SQUASHFS
155         select ZLIB_INFLATE                       155         select ZLIB_INFLATE
156         default y                                 156         default y
157         help                                      157         help
158           ZLIB compression is the standard com    158           ZLIB compression is the standard compression used by Squashfs
159           file systems.  It offers a good trad    159           file systems.  It offers a good trade-off between compression
160           achieved and the amount of CPU time     160           achieved and the amount of CPU time and memory necessary to
161           compress and decompress.                161           compress and decompress.
162                                                   162 
163           If unsure, say Y.                       163           If unsure, say Y.
164                                                   164 
165 config SQUASHFS_LZ4                               165 config SQUASHFS_LZ4
166         bool "Include support for LZ4 compress    166         bool "Include support for LZ4 compressed file systems"
167         depends on SQUASHFS                       167         depends on SQUASHFS
168         select LZ4_DECOMPRESS                     168         select LZ4_DECOMPRESS
169         help                                      169         help
170           Saying Y here includes support for r    170           Saying Y here includes support for reading Squashfs file systems
171           compressed with LZ4 compression.  LZ    171           compressed with LZ4 compression.  LZ4 compression is mainly
172           aimed at embedded systems with slowe    172           aimed at embedded systems with slower CPUs where the overheads
173           of zlib are too high.                   173           of zlib are too high.
174                                                   174 
175           LZ4 is not the standard compression     175           LZ4 is not the standard compression used in Squashfs and so most
176           file systems will be readable withou    176           file systems will be readable without selecting this option.
177                                                   177 
178           If unsure, say N.                       178           If unsure, say N.
179                                                   179 
180 config SQUASHFS_LZO                               180 config SQUASHFS_LZO
181         bool "Include support for LZO compress    181         bool "Include support for LZO compressed file systems"
182         depends on SQUASHFS                       182         depends on SQUASHFS
183         select LZO_DECOMPRESS                     183         select LZO_DECOMPRESS
184         help                                      184         help
185           Saying Y here includes support for r    185           Saying Y here includes support for reading Squashfs file systems
186           compressed with LZO compression.  LZ    186           compressed with LZO compression.  LZO compression is mainly
187           aimed at embedded systems with slowe    187           aimed at embedded systems with slower CPUs where the overheads
188           of zlib are too high.                   188           of zlib are too high.
189                                                   189 
190           LZO is not the standard compression     190           LZO is not the standard compression used in Squashfs and so most
191           file systems will be readable withou    191           file systems will be readable without selecting this option.
192                                                   192 
193           If unsure, say N.                       193           If unsure, say N.
194                                                   194 
195 config SQUASHFS_XZ                                195 config SQUASHFS_XZ
196         bool "Include support for XZ compresse    196         bool "Include support for XZ compressed file systems"
197         depends on SQUASHFS                       197         depends on SQUASHFS
198         select XZ_DEC                             198         select XZ_DEC
199         help                                      199         help
200           Saying Y here includes support for r    200           Saying Y here includes support for reading Squashfs file systems
201           compressed with XZ compression.  XZ     201           compressed with XZ compression.  XZ gives better compression than
202           the default zlib compression, at the    202           the default zlib compression, at the expense of greater CPU and
203           memory overhead.                        203           memory overhead.
204                                                   204 
205           XZ is not the standard compression u    205           XZ is not the standard compression used in Squashfs and so most
206           file systems will be readable withou    206           file systems will be readable without selecting this option.
207                                                   207 
208           If unsure, say N.                       208           If unsure, say N.
209                                                   209 
210 config SQUASHFS_ZSTD                              210 config SQUASHFS_ZSTD
211         bool "Include support for ZSTD compres    211         bool "Include support for ZSTD compressed file systems"
212         depends on SQUASHFS                       212         depends on SQUASHFS
213         select ZSTD_DECOMPRESS                    213         select ZSTD_DECOMPRESS
214         help                                      214         help
215           Saying Y here includes support for r    215           Saying Y here includes support for reading Squashfs file systems
216           compressed with ZSTD compression.  Z    216           compressed with ZSTD compression.  ZSTD gives better compression than
217           the default ZLIB compression, while     217           the default ZLIB compression, while using less CPU.
218                                                   218 
219           ZSTD is not the standard compression    219           ZSTD is not the standard compression used in Squashfs and so most
220           file systems will be readable withou    220           file systems will be readable without selecting this option.
221                                                   221 
222           If unsure, say N.                       222           If unsure, say N.
223                                                   223 
224 config SQUASHFS_4K_DEVBLK_SIZE                    224 config SQUASHFS_4K_DEVBLK_SIZE
225         bool "Use 4K device block size?"          225         bool "Use 4K device block size?"
226         depends on SQUASHFS                       226         depends on SQUASHFS
227         help                                      227         help
228           By default Squashfs sets the dev blo    228           By default Squashfs sets the dev block size (sb_min_blocksize)
229           to 1K or the smallest block size sup    229           to 1K or the smallest block size supported by the block device
230           (if larger).  This, because blocks a    230           (if larger).  This, because blocks are packed together and
231           unaligned in Squashfs, should reduce    231           unaligned in Squashfs, should reduce latency.
232                                                   232 
233           This, however, gives poor performanc    233           This, however, gives poor performance on MTD NAND devices where
234           the optimal I/O size is 4K (even tho    234           the optimal I/O size is 4K (even though the devices can support
235           smaller block sizes).                   235           smaller block sizes).
236                                                   236 
237           Using a 4K device block size may als    237           Using a 4K device block size may also improve overall I/O
238           performance for some file access pat    238           performance for some file access patterns (e.g. sequential
239           accesses of files in filesystem orde    239           accesses of files in filesystem order) on all media.
240                                                   240 
241           Setting this option will force Squas    241           Setting this option will force Squashfs to use a 4K device block
242           size by default.                        242           size by default.
243                                                   243 
244           If unsure, say N.                       244           If unsure, say N.
245                                                   245 
246 config SQUASHFS_EMBEDDED                          246 config SQUASHFS_EMBEDDED
247         bool "Additional option for memory-con    247         bool "Additional option for memory-constrained systems"
248         depends on SQUASHFS                       248         depends on SQUASHFS
249         help                                      249         help
250           Saying Y here allows you to specify     250           Saying Y here allows you to specify cache size.
251                                                   251 
252           If unsure, say N.                       252           If unsure, say N.
253                                                   253 
254 config SQUASHFS_FRAGMENT_CACHE_SIZE               254 config SQUASHFS_FRAGMENT_CACHE_SIZE
255         int "Number of fragments cached" if SQ    255         int "Number of fragments cached" if SQUASHFS_EMBEDDED
256         depends on SQUASHFS                       256         depends on SQUASHFS
257         default "3"                               257         default "3"
258         help                                      258         help
259           By default SquashFS caches the last     259           By default SquashFS caches the last 3 fragments read from
260           the filesystem.  Increasing this amo    260           the filesystem.  Increasing this amount may mean SquashFS
261           has to re-read fragments less often     261           has to re-read fragments less often from disk, at the expense
262           of extra system memory.  Decreasing     262           of extra system memory.  Decreasing this amount will mean
263           SquashFS uses less memory at the exp    263           SquashFS uses less memory at the expense of extra reads from disk.
264                                                   264 
265           Note there must be at least one cach    265           Note there must be at least one cached fragment.  Anything
266           much more than three will probably n    266           much more than three will probably not make much difference.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php