~ [ 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-5.17.15)


  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                  << 
 58         depends on SQUASHFS                    << 
 59         def_bool n                             << 
 60                                                << 
 61 config SQUASHFS_DECOMP_MULTI                   << 
 62         depends on SQUASHFS                    << 
 63         def_bool n                             << 
 64                                                << 
 65 config SQUASHFS_DECOMP_MULTI_PERCPU            << 
 66         depends on SQUASHFS                    << 
 67         def_bool n                             << 
 68                                                << 
 69 config SQUASHFS_CHOICE_DECOMP_BY_MOUNT         << 
 70         bool "Select the parallel decompressio << 
 71         depends on SQUASHFS                    << 
 72         default n                              << 
 73         select SQUASHFS_DECOMP_SINGLE          << 
 74         select SQUASHFS_DECOMP_MULTI           << 
 75         select SQUASHFS_DECOMP_MULTI_PERCPU    << 
 76         select SQUASHFS_MOUNT_DECOMP_THREADS   << 
 77         help                                   << 
 78           Compile all parallel decompression m << 
 79           decompression mode by setting "threa << 
 80           default Decompressor parallelisation << 
 81                                                << 
 82 choice                                             57 choice
 83         prompt "Select decompression parallel  !!  58         prompt "Decompressor parallelisation options"
 84         depends on SQUASHFS                        59         depends on SQUASHFS
 85         depends on !SQUASHFS_CHOICE_DECOMP_BY_ << 
 86         help                                       60         help
 87           Squashfs now supports three parallel     61           Squashfs now supports three parallelisation options for
 88           decompression.  Each one exhibits va     62           decompression.  Each one exhibits various trade-offs between
 89           decompression performance and CPU an     63           decompression performance and CPU and memory usage.
 90                                                    64 
 91           If in doubt, select "Single threaded     65           If in doubt, select "Single threaded compression"
 92                                                    66 
 93 config SQUASHFS_COMPILE_DECOMP_SINGLE          !!  67 config SQUASHFS_DECOMP_SINGLE
 94         bool "Single threaded compression"         68         bool "Single threaded compression"
 95         select SQUASHFS_DECOMP_SINGLE          << 
 96         help                                       69         help
 97           Traditionally Squashfs has used sing     70           Traditionally Squashfs has used single-threaded decompression.
 98           Only one block (data or metadata) ca     71           Only one block (data or metadata) can be decompressed at any
 99           one time.  This limits CPU and memor     72           one time.  This limits CPU and memory usage to a minimum.
100                                                    73 
101 config SQUASHFS_COMPILE_DECOMP_MULTI           !!  74 config SQUASHFS_DECOMP_MULTI
102         bool "Use multiple decompressors for p     75         bool "Use multiple decompressors for parallel I/O"
103         select SQUASHFS_DECOMP_MULTI           << 
104         help                                       76         help
105           By default Squashfs uses a single de     77           By default Squashfs uses a single decompressor but it gives
106           poor performance on parallel I/O wor     78           poor performance on parallel I/O workloads when using multiple CPU
107           machines due to waiting on decompres     79           machines due to waiting on decompressor availability.
108                                                    80 
109           If you have a parallel I/O workload      81           If you have a parallel I/O workload and your system has enough memory,
110           using this option may improve overal     82           using this option may improve overall I/O performance.
111                                                    83 
112           This decompressor implementation use     84           This decompressor implementation uses up to two parallel
113           decompressors per core.  It dynamica     85           decompressors per core.  It dynamically allocates decompressors
114           on a demand basis.                       86           on a demand basis.
115                                                    87 
116 config SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU    !!  88 config SQUASHFS_DECOMP_MULTI_PERCPU
117         bool "Use percpu multiple decompressor     89         bool "Use percpu multiple decompressors for parallel I/O"
118         select SQUASHFS_DECOMP_MULTI_PERCPU    << 
119         help                                       90         help
120           By default Squashfs uses a single de     91           By default Squashfs uses a single decompressor but it gives
121           poor performance on parallel I/O wor     92           poor performance on parallel I/O workloads when using multiple CPU
122           machines due to waiting on decompres     93           machines due to waiting on decompressor availability.
123                                                    94 
124           This decompressor implementation use     95           This decompressor implementation uses a maximum of one
125           decompressor per core.  It uses perc     96           decompressor per core.  It uses percpu variables to ensure
126           decompression is load-balanced acros     97           decompression is load-balanced across the cores.
127 endchoice                                      << 
128                                                    98 
129 config SQUASHFS_MOUNT_DECOMP_THREADS           !!  99 endchoice
130         bool "Add the mount parameter 'threads << 
131         depends on SQUASHFS                    << 
132         depends on SQUASHFS_DECOMP_MULTI       << 
133         default n                              << 
134         help                                   << 
135           Use threads= to set the decompressio << 
136           If SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y << 
137               threads=<single|multi|percpu|1|2 << 
138           else                                 << 
139               threads=<2|3|...>                << 
140           The upper limit is num_online_cpus() << 
141                                                   100 
142 config SQUASHFS_XATTR                             101 config SQUASHFS_XATTR
143         bool "Squashfs XATTR support"             102         bool "Squashfs XATTR support"
144         depends on SQUASHFS                       103         depends on SQUASHFS
145         help                                      104         help
146           Saying Y here includes support for e    105           Saying Y here includes support for extended attributes (xattrs).
147           Xattrs are name:value pairs associat    106           Xattrs are name:value pairs associated with inodes by
148           the kernel or by users (see the attr    107           the kernel or by users (see the attr(5) manual page).
149                                                   108 
150           If unsure, say N.                       109           If unsure, say N.
151                                                   110 
152 config SQUASHFS_ZLIB                              111 config SQUASHFS_ZLIB
153         bool "Include support for ZLIB compres    112         bool "Include support for ZLIB compressed file systems"
154         depends on SQUASHFS                       113         depends on SQUASHFS
155         select ZLIB_INFLATE                       114         select ZLIB_INFLATE
156         default y                                 115         default y
157         help                                      116         help
158           ZLIB compression is the standard com    117           ZLIB compression is the standard compression used by Squashfs
159           file systems.  It offers a good trad    118           file systems.  It offers a good trade-off between compression
160           achieved and the amount of CPU time     119           achieved and the amount of CPU time and memory necessary to
161           compress and decompress.                120           compress and decompress.
162                                                   121 
163           If unsure, say Y.                       122           If unsure, say Y.
164                                                   123 
165 config SQUASHFS_LZ4                               124 config SQUASHFS_LZ4
166         bool "Include support for LZ4 compress    125         bool "Include support for LZ4 compressed file systems"
167         depends on SQUASHFS                       126         depends on SQUASHFS
168         select LZ4_DECOMPRESS                     127         select LZ4_DECOMPRESS
169         help                                      128         help
170           Saying Y here includes support for r    129           Saying Y here includes support for reading Squashfs file systems
171           compressed with LZ4 compression.  LZ    130           compressed with LZ4 compression.  LZ4 compression is mainly
172           aimed at embedded systems with slowe    131           aimed at embedded systems with slower CPUs where the overheads
173           of zlib are too high.                   132           of zlib are too high.
174                                                   133 
175           LZ4 is not the standard compression     134           LZ4 is not the standard compression used in Squashfs and so most
176           file systems will be readable withou    135           file systems will be readable without selecting this option.
177                                                   136 
178           If unsure, say N.                       137           If unsure, say N.
179                                                   138 
180 config SQUASHFS_LZO                               139 config SQUASHFS_LZO
181         bool "Include support for LZO compress    140         bool "Include support for LZO compressed file systems"
182         depends on SQUASHFS                       141         depends on SQUASHFS
183         select LZO_DECOMPRESS                     142         select LZO_DECOMPRESS
184         help                                      143         help
185           Saying Y here includes support for r    144           Saying Y here includes support for reading Squashfs file systems
186           compressed with LZO compression.  LZ    145           compressed with LZO compression.  LZO compression is mainly
187           aimed at embedded systems with slowe    146           aimed at embedded systems with slower CPUs where the overheads
188           of zlib are too high.                   147           of zlib are too high.
189                                                   148 
190           LZO is not the standard compression     149           LZO is not the standard compression used in Squashfs and so most
191           file systems will be readable withou    150           file systems will be readable without selecting this option.
192                                                   151 
193           If unsure, say N.                       152           If unsure, say N.
194                                                   153 
195 config SQUASHFS_XZ                                154 config SQUASHFS_XZ
196         bool "Include support for XZ compresse    155         bool "Include support for XZ compressed file systems"
197         depends on SQUASHFS                       156         depends on SQUASHFS
198         select XZ_DEC                             157         select XZ_DEC
199         help                                      158         help
200           Saying Y here includes support for r    159           Saying Y here includes support for reading Squashfs file systems
201           compressed with XZ compression.  XZ     160           compressed with XZ compression.  XZ gives better compression than
202           the default zlib compression, at the    161           the default zlib compression, at the expense of greater CPU and
203           memory overhead.                        162           memory overhead.
204                                                   163 
205           XZ is not the standard compression u    164           XZ is not the standard compression used in Squashfs and so most
206           file systems will be readable withou    165           file systems will be readable without selecting this option.
207                                                   166 
208           If unsure, say N.                       167           If unsure, say N.
209                                                   168 
210 config SQUASHFS_ZSTD                              169 config SQUASHFS_ZSTD
211         bool "Include support for ZSTD compres    170         bool "Include support for ZSTD compressed file systems"
212         depends on SQUASHFS                       171         depends on SQUASHFS
213         select ZSTD_DECOMPRESS                    172         select ZSTD_DECOMPRESS
214         help                                      173         help
215           Saying Y here includes support for r    174           Saying Y here includes support for reading Squashfs file systems
216           compressed with ZSTD compression.  Z    175           compressed with ZSTD compression.  ZSTD gives better compression than
217           the default ZLIB compression, while     176           the default ZLIB compression, while using less CPU.
218                                                   177 
219           ZSTD is not the standard compression    178           ZSTD is not the standard compression used in Squashfs and so most
220           file systems will be readable withou    179           file systems will be readable without selecting this option.
221                                                   180 
222           If unsure, say N.                       181           If unsure, say N.
223                                                   182 
224 config SQUASHFS_4K_DEVBLK_SIZE                    183 config SQUASHFS_4K_DEVBLK_SIZE
225         bool "Use 4K device block size?"          184         bool "Use 4K device block size?"
226         depends on SQUASHFS                       185         depends on SQUASHFS
227         help                                      186         help
228           By default Squashfs sets the dev blo    187           By default Squashfs sets the dev block size (sb_min_blocksize)
229           to 1K or the smallest block size sup    188           to 1K or the smallest block size supported by the block device
230           (if larger).  This, because blocks a    189           (if larger).  This, because blocks are packed together and
231           unaligned in Squashfs, should reduce    190           unaligned in Squashfs, should reduce latency.
232                                                   191 
233           This, however, gives poor performanc    192           This, however, gives poor performance on MTD NAND devices where
234           the optimal I/O size is 4K (even tho    193           the optimal I/O size is 4K (even though the devices can support
235           smaller block sizes).                   194           smaller block sizes).
236                                                   195 
237           Using a 4K device block size may als    196           Using a 4K device block size may also improve overall I/O
238           performance for some file access pat    197           performance for some file access patterns (e.g. sequential
239           accesses of files in filesystem orde    198           accesses of files in filesystem order) on all media.
240                                                   199 
241           Setting this option will force Squas    200           Setting this option will force Squashfs to use a 4K device block
242           size by default.                        201           size by default.
243                                                   202 
244           If unsure, say N.                       203           If unsure, say N.
245                                                   204 
246 config SQUASHFS_EMBEDDED                          205 config SQUASHFS_EMBEDDED
247         bool "Additional option for memory-con    206         bool "Additional option for memory-constrained systems"
248         depends on SQUASHFS                       207         depends on SQUASHFS
249         help                                      208         help
250           Saying Y here allows you to specify     209           Saying Y here allows you to specify cache size.
251                                                   210 
252           If unsure, say N.                       211           If unsure, say N.
253                                                   212 
254 config SQUASHFS_FRAGMENT_CACHE_SIZE               213 config SQUASHFS_FRAGMENT_CACHE_SIZE
255         int "Number of fragments cached" if SQ    214         int "Number of fragments cached" if SQUASHFS_EMBEDDED
256         depends on SQUASHFS                       215         depends on SQUASHFS
257         default "3"                               216         default "3"
258         help                                      217         help
259           By default SquashFS caches the last     218           By default SquashFS caches the last 3 fragments read from
260           the filesystem.  Increasing this amo    219           the filesystem.  Increasing this amount may mean SquashFS
261           has to re-read fragments less often     220           has to re-read fragments less often from disk, at the expense
262           of extra system memory.  Decreasing     221           of extra system memory.  Decreasing this amount will mean
263           SquashFS uses less memory at the exp    222           SquashFS uses less memory at the expense of extra reads from disk.
264                                                   223 
265           Note there must be at least one cach    224           Note there must be at least one cached fragment.  Anything
266           much more than three will probably n    225           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