fs: build the legacy direct I/O code conditionally
[linux-block.git] / fs / fat / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
1c6ace01
AD
2config FAT_FS
3 tristate
4 select NLS
9636e650 5 select LEGACY_DIRECT_IO
1c6ace01
AD
6 help
7 If you want to use one of the FAT-based file systems (the MS-DOS and
8 VFAT (Windows 95) file systems), then you must say Y or M here
9 to include FAT support. You will then be able to mount partitions or
10 diskettes with FAT-based file systems and transparently access the
11 files on them, i.e. MSDOS files will look and behave just like all
12 other Unix files.
13
14 This FAT support is not a file system in itself, it only provides
15 the foundation for the other file systems. You will have to say Y or
16 M to at least one of "MSDOS fs support" or "VFAT fs support" in
17 order to make use of it.
18
19 Another way to read and write MSDOS floppies and hard drive
20 partitions from within Linux (but not transparently) is with the
21 mtools ("man mtools") program suite. You don't need to say Y here in
22 order to do that.
23
24 If you need to move large files on floppies between a DOS and a
25 Linux box, say Y here, mount the floppy under Linux with an MSDOS
26 file system and use GNU tar's M option. GNU tar is a program
27 available for Unix and DOS ("man tar" or "info tar").
28
29 The FAT support will enlarge your kernel by about 37 KB. If unsure,
30 say Y.
31
32 To compile this as a module, choose M here: the module will be called
33 fat. Note that if you compile the FAT support as a module, you
34 cannot compile any of the FAT-based file systems into the kernel
35 -- they will have to be modules as well.
36
37config MSDOS_FS
38 tristate "MSDOS fs support"
39 select FAT_FS
40 help
41 This allows you to mount MSDOS partitions of your hard drive (unless
42 they are compressed; to access compressed MSDOS partitions under
43 Linux, you can either use the DOS emulator DOSEMU, described in the
44 DOSEMU-HOWTO, available from
4ecfed61 45 <https://www.tldp.org/docs.html#howto>, or try dmsdosfs in
1c6ace01
AD
46 <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
47 intend to use dosemu with a non-compressed MSDOS partition, say Y
48 here) and MSDOS floppies. This means that file access becomes
49 transparent, i.e. the MSDOS files look and behave just like all
50 other Unix files.
51
52 If you have Windows 95 or Windows NT installed on your MSDOS
53 partitions, you should use the VFAT file system (say Y to "VFAT fs
54 support" below), or you will not be able to see the long filenames
55 generated by Windows 95 / Windows NT.
56
57 This option will enlarge your kernel by about 7 KB. If unsure,
58 answer Y. This will only work if you said Y to "DOS FAT fs support"
59 as well. To compile this as a module, choose M here: the module will
60 be called msdos.
61
62config VFAT_FS
63 tristate "VFAT (Windows-95) fs support"
64 select FAT_FS
65 help
66 This option provides support for normal Windows file systems with
67 long filenames. That includes non-compressed FAT-based file systems
68 used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
69 programs from the mtools package.
70
71 The VFAT support enlarges your kernel by about 10 KB and it only
72 works if you said Y to the "DOS FAT fs support" above. Please read
72ef5e52 73 the file <file:Documentation/filesystems/vfat.rst> for details. If
1c6ace01
AD
74 unsure, say Y.
75
76 To compile this as a module, choose M here: the module will be called
77 vfat.
78
79config FAT_DEFAULT_CODEPAGE
80 int "Default codepage for FAT"
b0d4adaf 81 depends on FAT_FS
1c6ace01
AD
82 default 437
83 help
84 This option should be set to the codepage of your FAT filesystems.
85 It can be overridden with the "codepage" mount option.
72ef5e52 86 See <file:Documentation/filesystems/vfat.rst> for more information.
1c6ace01
AD
87
88config FAT_DEFAULT_IOCHARSET
89 string "Default iocharset for FAT"
90 depends on VFAT_FS
91 default "iso8859-1"
92 help
93 Set this to the default input/output character set you'd
94 like FAT to use. It should probably match the character set
95 that most of your FAT filesystems use, and can be overridden
96 with the "iocharset" mount option for FAT filesystems.
97 Note that "utf8" is not recommended for FAT filesystems.
38739380
MS
98 If unsure, you shouldn't set "utf8" here - select the next option
99 instead if you would like to use UTF-8 encoded file names by default.
72ef5e52 100 See <file:Documentation/filesystems/vfat.rst> for more information.
d29a2e94
AC
101
102 Enable any character sets you need in File Systems/Native Language
103 Support.
38739380
MS
104
105config FAT_DEFAULT_UTF8
106 bool "Enable FAT UTF-8 option by default"
107 depends on VFAT_FS
108 default n
109 help
110 Set this if you would like to have "utf8" mount option set
111 by default when mounting FAT filesystems.
112
113 Even if you say Y here can always disable UTF-8 for
114 particular mount by adding "utf8=0" to mount options.
115
116 Say Y if you use UTF-8 encoding for file names, N otherwise.
117
72ef5e52 118 See <file:Documentation/filesystems/vfat.rst> for more information.
b0d4adaf
DG
119
120config FAT_KUNIT_TEST
121 tristate "Unit Tests for FAT filesystems" if !KUNIT_ALL_TESTS
122 depends on KUNIT && FAT_FS
123 default KUNIT_ALL_TESTS
124 help
125 This builds the FAT KUnit tests
126
127 For more information on KUnit and unit tests in general, please refer
128 to the KUnit documentation in Documentation/dev-tools/kunit
129
130 If unsure, say N