This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / fs / Kconfig
1 #
2 # File system configuration
3 #
4
5 menu "File systems"
6
7 config EXT2_FS
8         tristate "Second extended fs support"
9         help
10           Ext2 is a standard Linux file system for hard disks.
11
12           To compile this file system support as a module, choose M here: the
13           module will be called ext2.  Be aware however that the file system
14           of your root partition (the one containing the directory /) cannot
15           be compiled as a module, and so this could be dangerous.
16
17           If unsure, say Y.
18
19 config EXT2_FS_XATTR
20         bool "Ext2 extended attributes"
21         depends on EXT2_FS
22         help
23           Extended attributes are name:value pairs associated with inodes by
24           the kernel or by users (see the attr(5) manual page, or visit
25           <http://acl.bestbits.at/> for details).
26
27           If unsure, say N.
28
29 config EXT2_FS_POSIX_ACL
30         bool "Ext2 POSIX Access Control Lists"
31         depends on EXT2_FS_XATTR
32         help
33           Posix Access Control Lists (ACLs) support permissions for users and
34           groups beyond the owner/group/world scheme.
35
36           To learn more about Access Control Lists, visit the Posix ACLs for
37           Linux website <http://acl.bestbits.at/>.
38
39           If you don't know what Access Control Lists are, say N
40
41 config EXT2_FS_SECURITY
42         bool "Ext2 Security Labels"
43         depends on EXT2_FS_XATTR
44         help
45           Security labels support alternative access control models
46           implemented by security modules like SELinux.  This option
47           enables an extended attribute handler for file security
48           labels in the ext2 filesystem.
49
50           If you are not using a security module that requires using
51           extended attributes for file security labels, say N.
52
53 config EXT3_FS
54         tristate "Ext3 journalling file system support"
55         help
56           This is the journaling version of the Second extended file system
57           (often called ext3), the de facto standard Linux file system
58           (method to organize files on a storage device) for hard disks.
59
60           The journaling code included in this driver means you do not have
61           to run e2fsck (file system checker) on your file systems after a
62           crash.  The journal keeps track of any changes that were being made
63           at the time the system crashed, and can ensure that your file system
64           is consistent without the need for a lengthy check.
65
66           Other than adding the journal to the file system, the on-disk format
67           of ext3 is identical to ext2.  It is possible to freely switch
68           between using the ext3 driver and the ext2 driver, as long as the
69           file system has been cleanly unmounted, or e2fsck is run on the file
70           system.
71
72           To add a journal on an existing ext2 file system or change the
73           behavior of ext3 file systems, you can use the tune2fs utility ("man
74           tune2fs").  To modify attributes of files and directories on ext3
75           file systems, use chattr ("man chattr").  You need to be using
76           e2fsprogs version 1.20 or later in order to create ext3 journals
77           (available at <http://sourceforge.net/projects/e2fsprogs/>).
78
79           To compile this file system support as a module, choose M here: the
80           module will be called ext3.  Be aware however that the file system
81           of your root partition (the one containing the directory /) cannot
82           be compiled as a module, and so this may be dangerous.
83
84 config EXT3_FS_XATTR
85         bool "Ext3 extended attributes"
86         depends on EXT3_FS
87         default y
88         help
89           Extended attributes are name:value pairs associated with inodes by
90           the kernel or by users (see the attr(5) manual page, or visit
91           <http://acl.bestbits.at/> for details).
92
93           If unsure, say N.
94
95           You need this for POSIX ACL support on ext3.
96
97 config EXT3_FS_POSIX_ACL
98         bool "Ext3 POSIX Access Control Lists"
99         depends on EXT3_FS_XATTR
100         help
101           Posix Access Control Lists (ACLs) support permissions for users and
102           groups beyond the owner/group/world scheme.
103
104           To learn more about Access Control Lists, visit the Posix ACLs for
105           Linux website <http://acl.bestbits.at/>.
106
107           If you don't know what Access Control Lists are, say N
108
109 config EXT3_FS_SECURITY
110         bool "Ext3 Security Labels"
111         depends on EXT3_FS_XATTR
112         help
113           Security labels support alternative access control models
114           implemented by security modules like SELinux.  This option
115           enables an extended attribute handler for file security
116           labels in the ext3 filesystem.
117
118           If you are not using a security module that requires using
119           extended attributes for file security labels, say N.
120
121 config JBD
122 # CONFIG_JBD could be its own option (even modular), but until there are
123 # other users than ext3, we will simply make it be the same as CONFIG_EXT3_FS
124 # dep_tristate '  Journal Block Device support (JBD for ext3)' CONFIG_JBD $CONFIG_EXT3_FS
125         tristate
126         default EXT3_FS
127         help
128           This is a generic journaling layer for block devices.  It is
129           currently used by the ext3 file system, but it could also be used to
130           add journal support to other file systems or block devices such as
131           RAID or LVM.
132
133           If you are using the ext3 file system, you need to say Y here. If
134           you are not using ext3 then you will probably want to say N.
135
136           To compile this device as a module, choose M here: the module will be
137           called jbd.  If you are compiling ext3 into the kernel, you cannot
138           compile this code as a module.
139
140 config JBD_DEBUG
141         bool "JBD (ext3) debugging support"
142         depends on JBD
143         help
144           If you are using the ext3 journaled file system (or potentially any
145           other file system/device using JBD), this option allows you to
146           enable debugging output while the system is running, in order to
147           help track down any problems you are having.  By default the
148           debugging output will be turned off.
149
150           If you select Y here, then you will be able to turn on debugging
151           with "echo N > /proc/sys/fs/jbd-debug", where N is a number between
152           1 and 5, the higher the number, the more debugging output is
153           generated.  To turn debugging off again, do
154           "echo 0 > /proc/sys/fs/jbd-debug".
155
156 config FS_MBCACHE
157 # Meta block cache for Extended Attributes (ext2/ext3)
158         tristate
159         depends on EXT2_FS_XATTR || EXT3_FS_XATTR
160         default y if EXT2_FS=y || EXT3_FS=y
161         default m if EXT2_FS=m || EXT3_FS=m
162
163 config REISERFS_FS
164         tristate "Reiserfs support"
165         help
166           Stores not just filenames but the files themselves in a balanced
167           tree.  Uses journaling.
168
169           Balanced trees are more efficient than traditional file system
170           architectural foundations.
171
172           In general, ReiserFS is as fast as ext2, but is very efficient with
173           large directories and small files.  Additional patches are needed
174           for NFS and quotas, please see <http://www.namesys.com/> for links.
175
176           It is more easily extended to have features currently found in
177           database and keyword search systems than block allocation based file
178           systems are.  The next version will be so extended, and will support
179           plugins consistent with our motto ``It takes more than a license to
180           make source code open.''
181
182           Read <http://www.namesys.com/> to learn more about reiserfs.
183
184           Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com.
185
186           If you like it, you can pay us to add new features to it that you
187           need, buy a support contract, or pay us to port it to another OS.
188
189 config REISERFS_CHECK
190         bool "Enable reiserfs debug mode"
191         depends on REISERFS_FS
192         help
193           If you set this to Y, then ReiserFS will perform every check it can
194           possibly imagine of its internal consistency throughout its
195           operation.  It will also go substantially slower.  More than once we
196           have forgotten that this was on, and then gone despondent over the
197           latest benchmarks.:-) Use of this option allows our team to go all
198           out in checking for consistency when debugging without fear of its
199           effect on end users.  If you are on the verge of sending in a bug
200           report, say Y and you might get a useful error message.  Almost
201           everyone should say N.
202
203 config REISERFS_PROC_INFO
204         bool "Stats in /proc/fs/reiserfs"
205         depends on REISERFS_FS
206         help
207           Create under /proc/fs/reiserfs a hierarchy of files, displaying
208           various ReiserFS statistics and internal data at the expense of
209           making your kernel or module slightly larger (+8 KB). This also
210           increases the amount of kernel memory required for each mount.
211           Almost everyone but ReiserFS developers and people fine-tuning
212           reiserfs or tracing problems should say N.
213
214 config REISERFS_FS_XATTR
215         bool "ReiserFS extended attributes"
216         depends on REISERFS_FS
217         help
218           Extended attributes are name:value pairs associated with inodes by
219           the kernel or by users (see the attr(5) manual page, or visit
220           <http://acl.bestbits.at/> for details).
221
222           If unsure, say N.
223
224 config REISERFS_FS_POSIX_ACL
225         bool "ReiserFS POSIX Access Control Lists"
226         depends on REISERFS_FS_XATTR
227         help
228           Posix Access Control Lists (ACLs) support permissions for users and
229           groups beyond the owner/group/world scheme.
230
231           To learn more about Access Control Lists, visit the Posix ACLs for
232           Linux website <http://acl.bestbits.at/>.
233
234           If you don't know what Access Control Lists are, say N
235
236 config REISERFS_FS_SECURITY
237         bool "ReiserFS Security Labels"
238         depends on REISERFS_FS_XATTR
239         help
240           Security labels support alternative access control models
241           implemented by security modules like SELinux.  This option
242           enables an extended attribute handler for file security
243           labels in the ReiserFS filesystem.
244
245           If you are not using a security module that requires using
246           extended attributes for file security labels, say N.
247
248 config JFS_FS
249         tristate "JFS filesystem support"
250         select NLS
251         help
252           This is a port of IBM's Journaled Filesystem .  More information is
253           available in the file Documentation/filesystems/jfs.txt.
254
255           If you do not intend to use the JFS filesystem, say N.
256
257 config JFS_POSIX_ACL
258         bool "JFS POSIX Access Control Lists"
259         depends on JFS_FS
260         help
261           Posix Access Control Lists (ACLs) support permissions for users and
262           groups beyond the owner/group/world scheme.
263
264           To learn more about Access Control Lists, visit the Posix ACLs for
265           Linux website <http://acl.bestbits.at/>.
266
267           If you don't know what Access Control Lists are, say N
268
269 config JFS_DEBUG
270         bool "JFS debugging"
271         depends on JFS_FS
272         help
273           If you are experiencing any problems with the JFS filesystem, say
274           Y here.  This will result in additional debugging messages to be
275           written to the system log.  Under normal circumstances, this
276           results in very little overhead.
277
278 config JFS_STATISTICS
279         bool "JFS statistics"
280         depends on JFS_FS
281         help
282           Enabling this option will cause statistics from the JFS file system
283           to be made available to the user in the /proc/fs/jfs/ directory.
284
285 config FS_POSIX_ACL
286 # Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs)
287 #
288 # NOTE: you can implement Posix ACLs without these helpers (XFS does).
289 #       Never use this symbol for ifdefs.
290 #
291         bool
292         depends on EXT2_FS_POSIX_ACL || EXT3_FS_POSIX_ACL || JFS_POSIX_ACL || REISERFS_FS_POSIX_ACL || NFSD_V4
293         default y
294
295 config XFS_FS
296         tristate "XFS filesystem support"
297         help
298           XFS is a high performance journaling filesystem which originated
299           on the SGI IRIX platform.  It is completely multi-threaded, can
300           support large files and large filesystems, extended attributes,
301           variable block sizes, is extent based, and makes extensive use of
302           Btrees (directories, extents, free space) to aid both performance
303           and scalability.
304
305           Refer to the documentation at <http://oss.sgi.com/projects/xfs/>
306           for complete details.  This implementation is on-disk compatible
307           with the IRIX version of XFS.
308
309           To compile this file system support as a module, choose M here: the
310           module will be called xfs.  Be aware, however, that if the file
311           system of your root partition is compiled as a module, you'll need
312           to use an initial ramdisk (initrd) to boot.
313
314 config XFS_RT
315         bool "Realtime support (EXPERIMENTAL)"
316         depends on XFS_FS && EXPERIMENTAL
317         help
318           If you say Y here you will be able to mount and use XFS filesystems
319           which contain a realtime subvolume. The realtime subvolume is a
320           separate area of disk space where only file data is stored. The
321           realtime subvolume is designed to provide very deterministic
322           data rates suitable for media streaming applications.
323
324           See the xfs man page in section 5 for a bit more information.
325
326           This feature is unsupported at this time, is not yet fully
327           functional, and may cause serious problems.
328
329           If unsure, say N.
330
331 config XFS_QUOTA
332         bool "Quota support"
333         depends on XFS_FS
334         help
335           If you say Y here, you will be able to set limits for disk usage on
336           a per user and/or a per group basis under XFS.  XFS considers quota
337           information as filesystem metadata and uses journaling to provide a
338           higher level guarantee of consistency.  The on-disk data format for
339           quota is also compatible with the IRIX version of XFS, allowing a
340           filesystem to be migrated between Linux and IRIX without any need
341           for conversion.
342
343           If unsure, say N.  More comprehensive documentation can be found in
344           README.quota in the xfsprogs package.  XFS quota can be used either
345           with or without the generic quota support enabled (CONFIG_QUOTA) -
346           they are completely independent subsystems.
347
348 config XFS_SECURITY
349         bool "Security Label support"
350         depends on XFS_FS
351         help
352           Security labels support alternative access control models
353           implemented by security modules like SELinux.  This option
354           enables an extended attribute namespace for inode security
355           labels in the XFS filesystem.
356
357           If you are not using a security module that requires using
358           extended attributes for inode security labels, say N.
359
360 config XFS_POSIX_ACL
361         bool "POSIX ACL support"
362         depends on XFS_FS
363         help
364           POSIX Access Control Lists (ACLs) support permissions for users and
365           groups beyond the owner/group/world scheme.
366
367           To learn more about Access Control Lists, visit the POSIX ACLs for
368           Linux website <http://acl.bestbits.at/>.
369
370           If you don't know what Access Control Lists are, say N.
371
372 config MINIX_FS
373         tristate "Minix fs support"
374         help
375           Minix is a simple operating system used in many classes about OS's.
376           The minix file system (method to organize files on a hard disk
377           partition or a floppy disk) was the original file system for Linux,
378           but has been superseded by the second extended file system ext2fs.
379           You don't want to use the minix file system on your hard disk
380           because of certain built-in restrictions, but it is sometimes found
381           on older Linux floppy disks.  This option will enlarge your kernel
382           by about 28 KB. If unsure, say N.
383
384           To compile this file system support as a module, choose M here: the
385           module will be called minix.  Note that the file system of your root
386           partition (the one containing the directory /) cannot be compiled as
387           a module.
388
389 config ROMFS_FS
390         tristate "ROM file system support"
391         ---help---
392           This is a very small read-only file system mainly intended for
393           initial ram disks of installation disks, but it could be used for
394           other read-only media as well.  Read
395           <file:Documentation/filesystems/romfs.txt> for details.
396
397           To compile this file system support as a module, choose M here: the
398           module will be called romfs.  Note that the file system of your
399           root partition (the one containing the directory /) cannot be a
400           module.
401
402           If you don't know whether you need it, then you don't need it:
403           answer N.
404
405 config QUOTA
406         bool "Quota support"
407         help
408           If you say Y here, you will be able to set per user limits for disk
409           usage (also called disk quotas). Currently, it works for the
410           ext2, ext3, and reiserfs file system. ext3 also supports journalled
411           quotas for which you don't need to run quotacheck(8) after an unclean
412           shutdown. You need additional software in order to use quota support
413           (you can download sources from
414           <http://www.sf.net/projects/linuxquota/>). For further details, read
415           the Quota mini-HOWTO, available from
416           <http://www.tldp.org/docs.html#howto>, or the documentation provided
417           with the quota tools. Probably the quota support is only useful for
418           multi user systems. If unsure, say N.
419
420 config QFMT_V1
421         tristate "Old quota format support"
422         depends on QUOTA
423         help
424           This quota format was (is) used by kernels earlier than 2.4.22. If
425           you have quota working and you don't want to convert to new quota
426           format say Y here.
427
428 config QFMT_V2
429         tristate "Quota format v2 support"
430         depends on QUOTA
431         help
432           This quota format allows using quotas with 32-bit UIDs/GIDs. If you
433           need this functionality say Y here. Note that you will need recent
434           quota utilities (>= 3.01) for new quota format with this kernel.
435
436 config QUOTACTL
437         bool
438         depends on XFS_QUOTA || QUOTA
439         default y
440
441 config AUTOFS_FS
442         tristate "Kernel automounter support"
443         help
444           The automounter is a tool to automatically mount remote file systems
445           on demand. This implementation is partially kernel-based to reduce
446           overhead in the already-mounted case; this is unlike the BSD
447           automounter (amd), which is a pure user space daemon.
448
449           To use the automounter you need the user-space tools from the autofs
450           package; you can find the location in <file:Documentation/Changes>.
451           You also want to answer Y to "NFS file system support", below.
452
453           If you want to use the newer version of the automounter with more
454           features, say N here and say Y to "Kernel automounter v4 support",
455           below.
456
457           To compile this support as a module, choose M here: the module will be
458           called autofs.
459
460           If you are not a part of a fairly large, distributed network, you
461           probably do not need an automounter, and can say N here.
462
463 config AUTOFS4_FS
464         tristate "Kernel automounter version 4 support (also supports v3)"
465         help
466           The automounter is a tool to automatically mount remote file systems
467           on demand. This implementation is partially kernel-based to reduce
468           overhead in the already-mounted case; this is unlike the BSD
469           automounter (amd), which is a pure user space daemon.
470
471           To use the automounter you need the user-space tools from
472           <ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/>; you also
473           want to answer Y to "NFS file system support", below.
474
475           To compile this support as a module, choose M here: the module will be
476           called autofs4.  You will need to add "alias autofs autofs4" to your
477           modules configuration file.
478
479           If you are not a part of a fairly large, distributed network or
480           don't have a laptop which needs to dynamically reconfigure to the
481           local network, you probably do not need an automounter, and can say
482           N here.
483
484 menu "CD-ROM/DVD Filesystems"
485
486 config ISO9660_FS
487         tristate "ISO 9660 CDROM file system support"
488         help
489           This is the standard file system used on CD-ROMs.  It was previously
490           known as "High Sierra File System" and is called "hsfs" on other
491           Unix systems.  The so-called Rock-Ridge extensions which allow for
492           long Unix filenames and symbolic links are also supported by this
493           driver.  If you have a CD-ROM drive and want to do more with it than
494           just listen to audio CDs and watch its LEDs, say Y (and read
495           <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO,
496           available from <http://www.tldp.org/docs.html#howto>), thereby
497           enlarging your kernel by about 27 KB; otherwise say N.
498
499           To compile this file system support as a module, choose M here: the
500           module will be called isofs.
501
502 config JOLIET
503         bool "Microsoft Joliet CDROM extensions"
504         depends on ISO9660_FS
505         select NLS
506         help
507           Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system
508           which allows for long filenames in unicode format (unicode is the
509           new 16 bit character code, successor to ASCII, which encodes the
510           characters of almost all languages of the world; see
511           <http://www.unicode.org/> for more information).  Say Y here if you
512           want to be able to read Joliet CD-ROMs under Linux.
513
514 config ZISOFS
515         bool "Transparent decompression extension"
516         depends on ISO9660_FS
517         select ZLIB_INFLATE
518         help
519           This is a Linux-specific extension to RockRidge which lets you store
520           data in compressed form on a CD-ROM and have it transparently
521           decompressed when the CD-ROM is accessed.  See
522           <http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools
523           necessary to create such a filesystem.  Say Y here if you want to be
524           able to read such compressed CD-ROMs.
525
526 config ZISOFS_FS
527 # for fs/nls/Config.in
528         tristate
529         depends on ZISOFS
530         default ISO9660_FS
531
532 config UDF_FS
533         tristate "UDF file system support"
534         help
535           This is the new file system used on some CD-ROMs and DVDs. Say Y if
536           you intend to mount DVD discs or CDRW's written in packet mode, or
537           if written to by other UDF utilities, such as DirectCD.
538           Please read <file:Documentation/filesystems/udf.txt>.
539
540           To compile this file system support as a module, choose M here: the
541           module will be called udf.
542
543           If unsure, say N.
544
545 config UDF_NLS
546         bool
547         default y
548         depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)
549
550 endmenu
551
552 menu "DOS/FAT/NT Filesystems"
553
554 config FAT_FS
555         tristate
556         select NLS
557         help
558           If you want to use one of the FAT-based file systems (the MS-DOS,
559           VFAT (Windows 95) and UMSDOS (used to run Linux on top of an
560           ordinary DOS partition) file systems), then you must say Y or M here
561           to include FAT support. You will then be able to mount partitions or
562           diskettes with FAT-based file systems and transparently access the
563           files on them, i.e. MSDOS files will look and behave just like all
564           other Unix files.
565
566           This FAT support is not a file system in itself, it only provides
567           the foundation for the other file systems. You will have to say Y or
568           M to at least one of "MSDOS fs support" or "VFAT fs support" in
569           order to make use of it.
570
571           Another way to read and write MSDOS floppies and hard drive
572           partitions from within Linux (but not transparently) is with the
573           mtools ("man mtools") program suite. You don't need to say Y here in
574           order to do that.
575
576           If you need to move large files on floppies between a DOS and a
577           Linux box, say Y here, mount the floppy under Linux with an MSDOS
578           file system and use GNU tar's M option. GNU tar is a program
579           available for Unix and DOS ("man tar" or "info tar").
580
581           It is now also becoming possible to read and write compressed FAT
582           file systems; read <file:Documentation/filesystems/fat_cvf.txt> for
583           details.
584
585           The FAT support will enlarge your kernel by about 37 KB. If unsure,
586           say Y.
587
588           To compile this as a module, choose M here: the module will be called
589           fat.  Note that if you compile the FAT support as a module, you
590           cannot compile any of the FAT-based file systems into the kernel
591           -- they will have to be modules as well.
592           The file system of your root partition (the one containing the
593           directory /) cannot be a module, so don't say M here if you intend
594           to use UMSDOS as your root file system.
595
596 config MSDOS_FS
597         tristate "MSDOS fs support"
598         select FAT_FS
599         help
600           This allows you to mount MSDOS partitions of your hard drive (unless
601           they are compressed; to access compressed MSDOS partitions under
602           Linux, you can either use the DOS emulator DOSEMU, described in the
603           DOSEMU-HOWTO, available from
604           <http://www.tldp.org/docs.html#howto>, or try dmsdosfs in
605           <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
606           intend to use dosemu with a non-compressed MSDOS partition, say Y
607           here) and MSDOS floppies. This means that file access becomes
608           transparent, i.e. the MSDOS files look and behave just like all
609           other Unix files.
610
611           If you want to use UMSDOS, the Unix-like file system on top of a
612           DOS file system, which allows you to run Linux from within a DOS
613           partition without repartitioning, you'll have to say Y or M here.
614
615           If you have Windows 95 or Windows NT installed on your MSDOS
616           partitions, you should use the VFAT file system (say Y to "VFAT fs
617           support" below), or you will not be able to see the long filenames
618           generated by Windows 95 / Windows NT.
619
620           This option will enlarge your kernel by about 7 KB. If unsure,
621           answer Y. This will only work if you said Y to "DOS FAT fs support"
622           as well. To compile this as a module, choose M here: the module will
623           be called msdos.
624
625 config VFAT_FS
626         tristate "VFAT (Windows-95) fs support"
627         select FAT_FS
628         help
629           This option provides support for normal Windows file systems with
630           long filenames.  That includes non-compressed FAT-based file systems
631           used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
632           programs from the mtools package.
633
634           You cannot use the VFAT file system for your Linux root partition
635           (the one containing the directory /); use UMSDOS instead if you
636           want to run Linux from within a DOS partition (i.e. say Y to
637           "Unix like fs on top of std MSDOS fs", below).
638
639           The VFAT support enlarges your kernel by about 10 KB and it only
640           works if you said Y to the "DOS FAT fs support" above.  Please read
641           the file <file:Documentation/filesystems/vfat.txt> for details.  If
642           unsure, say Y.
643
644           To compile this as a module, choose M here: the module will be called
645           vfat.
646
647 config FAT_DEFAULT_CODEPAGE
648         int "Default codepage for FAT"
649         depends on MSDOS_FS || VFAT_FS
650         default 437
651         help
652           This option should be set to the codepage of your FAT filesystems.
653           It can be overridden with the "codepage" mount option.
654           See <file:Documentation/filesystems/vfat.txt> for more information.
655
656 config FAT_DEFAULT_IOCHARSET
657         string "Default iocharset for FAT"
658         depends on VFAT_FS
659         default "iso8859-1"
660         help
661           Set this to the default input/output character set you'd
662           like FAT to use. It should probably match the character set
663           that most of your FAT filesystems use, and can be overridden
664           with the "iocharset" mount option for FAT filesystems.
665           Note that "utf8" is not recommended for FAT filesystems.
666           If unsure, you shouldn't set "utf8" here.
667           See <file:Documentation/filesystems/vfat.txt> for more information.
668
669 config UMSDOS_FS
670 #dep_tristate '    UMSDOS: Unix-like file system on top of standard MSDOS fs' CONFIG_UMSDOS_FS $CONFIG_MSDOS_FS
671 # UMSDOS is temprory broken
672         bool
673         help
674           Say Y here if you want to run Linux from within an existing DOS
675           partition of your hard drive. The advantage of this is that you can
676           get away without repartitioning your hard drive (which often implies
677           backing everything up and restoring afterwards) and hence you're
678           able to quickly try out Linux or show it to your friends; the
679           disadvantage is that Linux becomes susceptible to DOS viruses and
680           that UMSDOS is somewhat slower than ext2fs.  Another use of UMSDOS
681           is to write files with long unix filenames to MSDOS floppies; it
682           also allows Unix-style soft-links and owner/permissions of files on
683           MSDOS floppies.  You will need a program called umssync in order to
684           make use of UMSDOS; read
685           <file:Documentation/filesystems/umsdos.txt>.
686
687           To get utilities for initializing/checking UMSDOS file system, or
688           latest patches and/or information, visit the UMSDOS home page at
689           <http://www.voyager.hr/~mnalis/umsdos/>.
690
691           This option enlarges your kernel by about 28 KB and it only works if
692           you said Y to both "DOS FAT fs support" and "MSDOS fs support"
693           above.  To compile this as a module, choose M here: the module will be
694           called umsdos.  Note that the file system of your root partition
695           (the one containing the directory /) cannot be a module, so saying M
696           could be dangerous.  If unsure, say N.
697
698 config NTFS_FS
699         tristate "NTFS file system support"
700         select NLS
701         help
702           NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
703
704           Saying Y or M here enables read support.  There is partial, but
705           safe, write support available.  For write support you must also
706           say Y to "NTFS write support" below.
707
708           There are also a number of user-space tools available, called
709           ntfsprogs.  These include ntfsundelete and ntfsresize, that work
710           without NTFS support enabled in the kernel.
711
712           This is a rewrite from scratch of Linux NTFS support and replaced
713           the old NTFS code starting with Linux 2.5.11.  A backport to
714           the Linux 2.4 kernel series is separately available as a patch
715           from the project web site.
716
717           For more information see <file:Documentation/filesystems/ntfs.txt>
718           and <http://linux-ntfs.sourceforge.net/>.
719
720           To compile this file system support as a module, choose M here: the
721           module will be called ntfs.
722
723           If you are not using Windows NT, 2000, XP or 2003 in addition to
724           Linux on your computer it is safe to say N.
725
726 config NTFS_DEBUG
727         bool "NTFS debugging support"
728         depends on NTFS_FS
729         help
730           If you are experiencing any problems with the NTFS file system, say
731           Y here.  This will result in additional consistency checks to be
732           performed by the driver as well as additional debugging messages to
733           be written to the system log.  Note that debugging messages are
734           disabled by default.  To enable them, supply the option debug_msgs=1
735           at the kernel command line when booting the kernel or as an option
736           to insmod when loading the ntfs module.  Once the driver is active,
737           you can enable debugging messages by doing (as root):
738           echo 1 > /proc/sys/fs/ntfs-debug
739           Replacing the "1" with "0" would disable debug messages.
740
741           If you leave debugging messages disabled, this results in little
742           overhead, but enabling debug messages results in very significant
743           slowdown of the system.
744
745           When reporting bugs, please try to have available a full dump of
746           debugging messages while the misbehaviour was occurring.
747
748 config NTFS_RW
749         bool "NTFS write support"
750         depends on NTFS_FS
751         help
752           This enables the partial, but safe, write support in the NTFS driver.
753
754           The only supported operation is overwriting existing files, without
755           changing the file length.  No file or directory creation, deletion or
756           renaming is possible.  Note only non-resident files can be written to
757           so you may find that some very small files (<500 bytes or so) cannot
758           be written to.
759
760           While we cannot guarantee that it will not damage any data, we have
761           so far not received a single report where the driver would have
762           damaged someones data so we assume it is perfectly safe to use.
763
764           Note:  While write support is safe in this version (a rewrite from
765           scratch of the NTFS support), it should be noted that the old NTFS
766           write support, included in Linux 2.5.10 and before (since 1997),
767           is not safe.
768
769           This is currently useful with TopologiLinux.  TopologiLinux is run
770           on top of any DOS/Microsoft Windows system without partitioning your
771           hard disk.  Unlike other Linux distributions TopologiLinux does not
772           need its own partition.  For more information see
773           <http://topologi-linux.sourceforge.net/>
774
775           It is perfectly safe to say N here.
776
777 endmenu
778
779 menu "Pseudo filesystems"
780
781 config PROC_FS
782         bool "/proc file system support"
783         help
784           This is a virtual file system providing information about the status
785           of the system. "Virtual" means that it doesn't take up any space on
786           your hard disk: the files are created on the fly by the kernel when
787           you try to access them. Also, you cannot read the files with older
788           version of the program less: you need to use more or cat.
789
790           It's totally cool; for example, "cat /proc/interrupts" gives
791           information about what the different IRQs are used for at the moment
792           (there is a small number of Interrupt ReQuest lines in your computer
793           that are used by the attached devices to gain the CPU's attention --
794           often a source of trouble if two devices are mistakenly configured
795           to use the same IRQ). The program procinfo to display some
796           information about your system gathered from the /proc file system.
797
798           Before you can use the /proc file system, it has to be mounted,
799           meaning it has to be given a location in the directory hierarchy.
800           That location should be /proc. A command such as "mount -t proc proc
801           /proc" or the equivalent line in /etc/fstab does the job.
802
803           The /proc file system is explained in the file
804           <file:Documentation/filesystems/proc.txt> and on the proc(5) manpage
805           ("man 5 proc").
806
807           This option will enlarge your kernel by about 67 KB. Several
808           programs depend on this, so everyone should say Y here.
809
810 config PROC_KCORE
811         bool
812         default y if !ARM
813
814 config SYSFS
815         bool "sysfs file system support" if EMBEDDED
816         default y
817         help
818         The sysfs filesystem is a virtual filesystem that the kernel uses to
819         export internal kernel objects, their attributes, and their
820         relationships to one another.
821
822         Users can use sysfs to ascertain useful information about the running
823         kernel, such as the devices the kernel has discovered on each bus and
824         which driver each is bound to. sysfs can also be used to tune devices
825         and other kernel subsystems.
826
827         Some system agents rely on the information in sysfs to operate.
828         /sbin/hotplug uses device and object attributes in sysfs to assist in
829         delegating policy decisions, like persistantly naming devices.
830
831         sysfs is currently used by the block subsystem to mount the root
832         partition.  If sysfs is disabled you must specify the boot device on
833         the kernel boot command line via its major and minor numbers.  For
834         example, "root=03:01" for /dev/hda1.
835
836         Designers of embedded systems may wish to say N here to conserve space.
837
838 config DEVFS_FS
839         bool "/dev file system support (OBSOLETE)"
840         depends on EXPERIMENTAL
841         help
842           This is support for devfs, a virtual file system (like /proc) which
843           provides the file system interface to device drivers, normally found
844           in /dev. Devfs does not depend on major and minor number
845           allocations. Device drivers register entries in /dev which then
846           appear automatically, which means that the system administrator does
847           not have to create character and block special device files in the
848           /dev directory using the mknod command (or MAKEDEV script) anymore.
849
850           This is work in progress. If you want to use this, you *must* read
851           the material in <file:Documentation/filesystems/devfs/>, especially
852           the file README there.
853
854           Note that devfs no longer manages /dev/pts!  If you are using UNIX98
855           ptys, you will also need to mount the /dev/pts filesystem (devpts).
856
857           Note that devfs has been obsoleted by udev,
858           <http://www.kernel.org/pub/linux/utils/kernel/hotplug/>.
859           It has been stripped down to a bare minimum and is only provided for
860           legacy installations that use its naming scheme which is
861           unfortunately different from the names normal Linux installations
862           use.
863
864           If unsure, say N.
865
866 config DEVFS_MOUNT
867         bool "Automatically mount at boot"
868         depends on DEVFS_FS
869         help
870           This option appears if you have CONFIG_DEVFS_FS enabled. Setting
871           this to 'Y' will make the kernel automatically mount devfs onto /dev
872           when the system is booted, before the init thread is started.
873           You can override this with the "devfs=nomount" boot option.
874
875           If unsure, say N.
876
877 config DEVFS_DEBUG
878         bool "Debug devfs"
879         depends on DEVFS_FS
880         help
881           If you say Y here, then the /dev file system code will generate
882           debugging messages. See the file
883           <file:Documentation/filesystems/devfs/boot-options> for more
884           details.
885
886           If unsure, say N.
887
888 config DEVPTS_FS_XATTR
889         bool "/dev/pts Extended Attributes"
890         depends on UNIX98_PTYS
891         help
892           Extended attributes are name:value pairs associated with inodes by
893           the kernel or by users (see the attr(5) manual page, or visit
894           <http://acl.bestbits.at/> for details).
895
896           If unsure, say N.
897
898 config DEVPTS_FS_SECURITY
899         bool "/dev/pts Security Labels"
900         depends on DEVPTS_FS_XATTR
901         help
902           Security labels support alternative access control models
903           implemented by security modules like SELinux.  This option
904           enables an extended attribute handler for file security
905           labels in the /dev/pts filesystem.
906
907           If you are not using a security module that requires using
908           extended attributes for file security labels, say N.
909
910 config TMPFS
911         bool "Virtual memory file system support (former shm fs)"
912         help
913           Tmpfs is a file system which keeps all files in virtual memory.
914
915           Everything in tmpfs is temporary in the sense that no files will be
916           created on your hard drive. The files live in memory and swap
917           space. If you unmount a tmpfs instance, everything stored therein is
918           lost.
919
920           See <file:Documentation/filesystems/tmpfs.txt> for details.
921
922 config TMPFS_XATTR
923         bool "tmpfs Extended Attributes"
924         depends on TMPFS
925         help
926           Extended attributes are name:value pairs associated with inodes by
927           the kernel or by users (see the attr(5) manual page, or visit
928           <http://acl.bestbits.at/> for details).
929
930           If unsure, say N.
931
932 config TMPFS_SECURITY
933         bool "tmpfs Security Labels"
934         depends on TMPFS_XATTR
935         help
936           Security labels support alternative access control models
937           implemented by security modules like SELinux.  This option
938           enables an extended attribute handler for file security
939           labels in the tmpfs filesystem.
940           If you are not using a security module that requires using
941           extended attributes for file security labels, say N.
942
943 config HUGETLBFS
944         bool "HugeTLB file system support"
945         depends X86 || IA64 || PPC64 || SPARC64 || SUPERH || X86_64 || BROKEN
946
947 config HUGETLB_PAGE
948         def_bool HUGETLBFS
949
950 config RAMFS
951         bool
952         default y
953         ---help---
954           Ramfs is a file system which keeps all files in RAM. It allows
955           read and write access.
956
957           It is more of an programming example than a useable file system.  If
958           you need a file system which lives in RAM with limit checking use
959           tmpfs.
960
961           To compile this as a module, choose M here: the module will be called
962           ramfs.
963
964 config RELAYFS_FS
965         tristate "Relayfs file system support"
966         ---help---
967           Relayfs is a high-speed data relay filesystem designed to provide
968           an efficient mechanism for tools and facilities to relay large
969           amounts of data from kernel space to user space.  It's not useful
970           on its own, and should only be enabled if other facilities that
971           need it are enabled, such as for example klog or the Linux Trace
972           Toolkit.
973
974           See <file:Documentation/filesystems/relayfs.txt> for further
975           information.
976
977           This file system is also available as a module ( = code which can be
978           inserted in and removed from the running kernel whenever you want).
979           The module is called relayfs.  If you want to compile it as a
980           module, say M here and read <file:Documentation/modules.txt>.
981
982           If unsure, say N.
983
984 config KLOG_CHANNEL
985         bool "Enable klog debugging support"
986         depends on RELAYFS_FS
987         help
988           If you say Y to this, a relayfs channel named klog will be created
989           in the root of the relayfs file system.  You can write to the klog
990           channel using klog() or klog_raw() from within the kernel or
991           kernel modules, and read from the klog channel by mounting relayfs
992           and using read(2) to read from it (or using cat).  If you're not  
993           sure, say N.
994
995 config KLOG_CHANNEL_AUTOENABLE
996         bool "Enable klog logging on startup"
997         depends on KLOG_CHANNEL
998         default y
999         help
1000           If you say Y to this, the klog channel will be automatically enabled
1001           on startup.  Otherwise, to turn klog logging on, you need use
1002           sysctl (fs.relayfs.klog_enabled).  This option is used in cases where
1003           you don't actually want the channel to be written to until it's
1004           enabled.  If you're not sure, say Y.
1005
1006 config KLOG_CHANNEL_SHIFT
1007         depends on KLOG_CHANNEL
1008         int "klog debugging channel size (14 => 16KB, 22 => 4MB)"
1009         range 14 22
1010         default 21
1011         help
1012           Select klog debugging channel size as a power of 2.
1013
1014 endmenu
1015
1016 menu "Miscellaneous filesystems"
1017
1018 config ADFS_FS
1019         tristate "ADFS file system support (EXPERIMENTAL)"
1020         depends on EXPERIMENTAL
1021         help
1022           The Acorn Disc Filing System is the standard file system of the
1023           RiscOS operating system which runs on Acorn's ARM-based Risc PC
1024           systems and the Acorn Archimedes range of machines. If you say Y
1025           here, Linux will be able to read from ADFS partitions on hard drives
1026           and from ADFS-formatted floppy discs. If you also want to be able to
1027           write to those devices, say Y to "ADFS write support" below.
1028
1029           The ADFS partition should be the first partition (i.e.,
1030           /dev/[hs]d?1) on each of your drives. Please read the file
1031           <file:Documentation/filesystems/adfs.txt> for further details.
1032
1033           To compile this code as a module, choose M here: the module will be
1034           called adfs.
1035
1036           If unsure, say N.
1037
1038 config ADFS_FS_RW
1039         bool "ADFS write support (DANGEROUS)"
1040         depends on ADFS_FS
1041         help
1042           If you say Y here, you will be able to write to ADFS partitions on
1043           hard drives and ADFS-formatted floppy disks. This is experimental
1044           codes, so if you're unsure, say N.
1045
1046 config AFFS_FS
1047         tristate "Amiga FFS file system support (EXPERIMENTAL)"
1048         depends on EXPERIMENTAL
1049         help
1050           The Fast File System (FFS) is the common file system used on hard
1051           disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20).  Say Y
1052           if you want to be able to read and write files from and to an Amiga
1053           FFS partition on your hard drive.  Amiga floppies however cannot be
1054           read with this driver due to an incompatibility of the floppy
1055           controller used in an Amiga and the standard floppy controller in
1056           PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
1057           and <file:fs/affs/Changes>.
1058
1059           With this driver you can also mount disk files used by Bernd
1060           Schmidt's Un*X Amiga Emulator
1061           (<http://www.freiburg.linux.de/~uae/>).
1062           If you want to do this, you will also need to say Y or M to "Loop
1063           device support", above.
1064
1065           To compile this file system support as a module, choose M here: the
1066           module will be called affs.  If unsure, say N.
1067
1068 config HFS_FS
1069         tristate "Apple Macintosh file system support (EXPERIMENTAL)"
1070         depends on EXPERIMENTAL
1071         help
1072           If you say Y here, you will be able to mount Macintosh-formatted
1073           floppy disks and hard drive partitions with full read-write access.
1074           Please read <file:fs/hfs/HFS.txt> to learn about the available mount
1075           options.
1076
1077           To compile this file system support as a module, choose M here: the
1078           module will be called hfs.
1079
1080 config HFSPLUS_FS
1081         tristate "Apple Extended HFS file system support"
1082         select NLS
1083         help
1084           If you say Y here, you will be able to mount extended format
1085           Macintosh-formatted hard drive partitions with full read-write access.
1086
1087           This file system is often called HFS+ and was introduced with
1088           MacOS 8. It includes all Mac specific filesystem data such as
1089           data forks and creator codes, but it also has several UNIX
1090           style features such as file ownership and permissions.
1091
1092 config BEFS_FS
1093         tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)"
1094         depends on EXPERIMENTAL
1095         select NLS
1096         help
1097           The BeOS File System (BeFS) is the native file system of Be, Inc's
1098           BeOS. Notable features include support for arbitrary attributes
1099           on files and directories, and database-like indices on selected
1100           attributes. (Also note that this driver doesn't make those features
1101           available at this time). It is a 64 bit filesystem, so it supports
1102           extreemly large volumes and files.
1103
1104           If you use this filesystem, you should also say Y to at least one
1105           of the NLS (native language support) options below.
1106
1107           If you don't know what this is about, say N.
1108
1109           To compile this as a module, choose M here: the module will be
1110           called befs.
1111
1112 config BEFS_DEBUG
1113         bool "Debug BeFS"
1114         depends on BEFS_FS
1115         help
1116           If you say Y here, you can use the 'debug' mount option to enable
1117           debugging output from the driver. 
1118
1119 config BFS_FS
1120         tristate "BFS file system support (EXPERIMENTAL)"
1121         depends on EXPERIMENTAL
1122         help
1123           Boot File System (BFS) is a file system used under SCO UnixWare to
1124           allow the bootloader access to the kernel image and other important
1125           files during the boot process.  It is usually mounted under /stand
1126           and corresponds to the slice marked as "STAND" in the UnixWare
1127           partition.  You should say Y if you want to read or write the files
1128           on your /stand slice from within Linux.  You then also need to say Y
1129           to "UnixWare slices support", below.  More information about the BFS
1130           file system is contained in the file
1131           <file:Documentation/filesystems/bfs.txt>.
1132
1133           If you don't know what this is about, say N.
1134
1135           To compile this as a module, choose M here: the module will be called
1136           bfs.  Note that the file system of your root partition (the one
1137           containing the directory /) cannot be compiled as a module.
1138
1139
1140
1141 config EFS_FS
1142         tristate "EFS file system support (read only) (EXPERIMENTAL)"
1143         depends on EXPERIMENTAL
1144         help
1145           EFS is an older file system used for non-ISO9660 CD-ROMs and hard
1146           disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
1147           uses the XFS file system for hard disk partitions however).
1148
1149           This implementation only offers read-only access. If you don't know
1150           what all this is about, it's safe to say N. For more information
1151           about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.
1152
1153           To compile the EFS file system support as a module, choose M here: the
1154           module will be called efs.
1155
1156 config JFFS_FS
1157         tristate "Journalling Flash File System (JFFS) support"
1158         depends on MTD
1159         help
1160           JFFS is the Journaling Flash File System developed by Axis
1161           Communications in Sweden, aimed at providing a crash/powerdown-safe
1162           file system for disk-less embedded devices. Further information is
1163           available at (<http://developer.axis.com/software/jffs/>).
1164
1165 config JFFS_FS_VERBOSE
1166         int "JFFS debugging verbosity (0 = quiet, 3 = noisy)"
1167         depends on JFFS_FS
1168         default "0"
1169         help
1170           Determines the verbosity level of the JFFS debugging messages.
1171
1172 config JFFS_PROC_FS
1173         bool "JFFS stats available in /proc filesystem"
1174         depends on JFFS_FS && PROC_FS
1175         help
1176           Enabling this option will cause statistics from mounted JFFS file systems
1177           to be made available to the user in the /proc/fs/jffs/ directory.
1178
1179 config JFFS2_FS
1180         tristate "Journalling Flash File System v2 (JFFS2) support"
1181         select CRC32
1182         depends on MTD
1183         help
1184           JFFS2 is the second generation of the Journalling Flash File System
1185           for use on diskless embedded devices. It provides improved wear
1186           levelling, compression and support for hard links. You cannot use
1187           this on normal block devices, only on 'MTD' devices.
1188
1189           Further information on the design and implementation of JFFS2 is
1190           available at <http://sources.redhat.com/jffs2/>.
1191
1192 config JFFS2_FS_DEBUG
1193         int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
1194         depends on JFFS2_FS
1195         default "0"
1196         help
1197           This controls the amount of debugging messages produced by the JFFS2
1198           code. Set it to zero for use in production systems. For evaluation,
1199           testing and debugging, it's advisable to set it to one. This will
1200           enable a few assertions and will print debugging messages at the
1201           KERN_DEBUG loglevel, where they won't normally be visible. Level 2
1202           is unlikely to be useful - it enables extra debugging in certain
1203           areas which at one point needed debugging, but when the bugs were
1204           located and fixed, the detailed messages were relegated to level 2.
1205
1206           If reporting bugs, please try to have available a full dump of the
1207           messages at debug level 1 while the misbehaviour was occurring.
1208
1209 config JFFS2_FS_NAND
1210         bool "JFFS2 support for NAND flash"
1211         depends on JFFS2_FS
1212         default n
1213         help
1214           This enables the support for NAND flash in JFFS2. NAND is a newer
1215           type of flash chip design than the traditional NOR flash, with
1216           higher density but a handful of characteristics which make it more
1217           interesting for the file system to use.
1218
1219           Say 'N' unless you have NAND flash.
1220
1221 config JFFS2_COMPRESSION_OPTIONS
1222         bool "Advanced compression options for JFFS2"
1223         depends on JFFS2_FS
1224         default n
1225         help
1226           Enabling this option allows you to explicitly choose which
1227           compression modules, if any, are enabled in JFFS2. Removing
1228           compressors and mean you cannot read existing file systems,
1229           and enabling experimental compressors can mean that you
1230           write a file system which cannot be read by a standard kernel.
1231
1232           If unsure, you should _definitely_ say 'N'.
1233
1234 config JFFS2_ZLIB
1235         bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
1236         select ZLIB_INFLATE
1237         select ZLIB_DEFLATE
1238         depends on JFFS2_FS
1239         default y
1240         help
1241           Zlib is designed to be a free, general-purpose, legally unencumbered,
1242           lossless data-compression library for use on virtually any computer 
1243           hardware and operating system. See http://www.gzip.org/zlib/ for
1244           further information.
1245           
1246           Say 'Y' if unsure.
1247
1248 config JFFS2_RTIME
1249         bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
1250         depends on JFFS2_FS
1251         default y
1252         help
1253           Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
1254
1255 config JFFS2_RUBIN
1256         bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
1257         depends on JFFS2_FS
1258         default n
1259         help
1260           RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.
1261
1262 choice
1263         prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
1264         default JFFS2_CMODE_PRIORITY
1265         depends on JFFS2_FS
1266         help
1267           You can set here the default compression mode of JFFS2 from 
1268           the avaiable compression modes. Don't touch if unsure.
1269
1270 config JFFS2_CMODE_NONE
1271         bool "no compression"
1272         help
1273           Uses no compression.
1274
1275 config JFFS2_CMODE_PRIORITY
1276         bool "priority"
1277         help
1278           Tries the compressors in a predefinied order and chooses the first 
1279           successful one.
1280
1281 config JFFS2_CMODE_SIZE
1282         bool "size (EXPERIMENTAL)"
1283         help
1284           Tries all compressors and chooses the one which has the smallest 
1285           result.
1286
1287 endchoice
1288
1289 config CRAMFS
1290         tristate "Compressed ROM file system support (cramfs)"
1291         select ZLIB_INFLATE
1292         help
1293           Saying Y here includes support for CramFs (Compressed ROM File
1294           System).  CramFs is designed to be a simple, small, and compressed
1295           file system for ROM based embedded systems.  CramFs is read-only,
1296           limited to 256MB file systems (with 16MB files), and doesn't support
1297           16/32 bits uid/gid, hard links and timestamps.
1298
1299           See <file:Documentation/filesystems/cramfs.txt> and
1300           <file:fs/cramfs/README> for further information.
1301
1302           To compile this as a module, choose M here: the module will be called
1303           cramfs.  Note that the root file system (the one containing the
1304           directory /) cannot be compiled as a module.
1305
1306           If unsure, say N.
1307
1308 config VXFS_FS
1309         tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
1310         help
1311           FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
1312           file system format.  VERITAS VxFS(TM) is the standard file system
1313           of SCO UnixWare (and possibly others) and optionally available
1314           for Sunsoft Solaris, HP-UX and many other operating systems.
1315           Currently only readonly access is supported.
1316
1317           NOTE: the file system type as used by mount(1), mount(2) and
1318           fstab(5) is 'vxfs' as it describes the file system format, not
1319           the actual driver.
1320
1321           To compile this as a module, choose M here: the module will be
1322           called freevxfs.  If unsure, say N.
1323
1324
1325 config HPFS_FS
1326         tristate "OS/2 HPFS file system support"
1327         help
1328           OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
1329           is the file system used for organizing files on OS/2 hard disk
1330           partitions. Say Y if you want to be able to read files from and
1331           write files to an OS/2 HPFS partition on your hard drive. OS/2
1332           floppies however are in regular MSDOS format, so you don't need this
1333           option in order to be able to read them. Read
1334           <file:Documentation/filesystems/hpfs.txt>.
1335
1336           To compile this file system support as a module, choose M here: the
1337           module will be called hpfs.  If unsure, say N.
1338
1339 config QNX4FS_FS
1340         tristate "QNX4 file system support (read only)"
1341         help
1342           This is the file system used by the real-time operating systems
1343           QNX 4 and QNX 6 (the latter is also called QNX RTP).
1344           Further information is available at <http://www.qnx.com/>.
1345           Say Y if you intend to mount QNX hard disks or floppies.
1346           Unless you say Y to "QNX4FS read-write support" below, you will
1347           only be able to read these file systems.
1348
1349           To compile this file system support as a module, choose M here: the
1350           module will be called qnx4.
1351
1352           If you don't know whether you need it, then you don't need it:
1353           answer N.
1354
1355 config QNX4FS_RW
1356         bool "QNX4FS write support (DANGEROUS)"
1357         depends on QNX4FS_FS && EXPERIMENTAL
1358         help
1359           Say Y if you want to test write support for QNX4 file systems.
1360
1361           It's currently broken, so for now:
1362           answer N.
1363
1364 config SYSV_FS
1365         tristate "System V/Xenix/V7/Coherent file system support"
1366         help
1367           SCO, Xenix and Coherent are commercial Unix systems for Intel
1368           machines, and Version 7 was used on the DEC PDP-11. Saying Y
1369           here would allow you to read from their floppies and hard disk
1370           partitions.
1371
1372           If you have floppies or hard disk partitions like that, it is likely
1373           that they contain binaries from those other Unix systems; in order
1374           to run these binaries, you will want to install linux-abi which is a
1375           a set of kernel modules that lets you run SCO, Xenix, Wyse,
1376           UnixWare, Dell Unix and System V programs under Linux.  It is
1377           available via FTP (user: ftp) from
1378           <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
1379           NOTE: that will work only for binaries from Intel-based systems;
1380           PDP ones will have to wait until somebody ports Linux to -11 ;-)
1381
1382           If you only intend to mount files from some other Unix over the
1383           network using NFS, you don't need the System V file system support
1384           (but you need NFS file system support obviously).
1385
1386           Note that this option is generally not needed for floppies, since a
1387           good portable way to transport files and directories between unixes
1388           (and even other operating systems) is given by the tar program ("man
1389           tar" or preferably "info tar").  Note also that this option has
1390           nothing whatsoever to do with the option "System V IPC". Read about
1391           the System V file system in
1392           <file:Documentation/filesystems/sysv-fs.txt>.
1393           Saying Y here will enlarge your kernel by about 27 KB.
1394
1395           To compile this as a module, choose M here: the module will be called
1396           sysv.
1397
1398           If you haven't heard about all of this before, it's safe to say N.
1399
1400 config UFS_FS
1401         tristate "UFS file system support (read only)"
1402         help
1403           BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
1404           OpenBSD and NeXTstep) use a file system called UFS. Some System V
1405           Unixes can create and mount hard disk partitions and diskettes using
1406           this file system as well. Saying Y here will allow you to read from
1407           these partitions; if you also want to write to them, say Y to the
1408           experimental "UFS file system write support", below. Please read the
1409           file <file:Documentation/filesystems/ufs.txt> for more information.
1410
1411           The recently released UFS2 variant (used in FreeBSD 5.x) is
1412           READ-ONLY supported.
1413
1414           If you only intend to mount files from some other Unix over the
1415           network using NFS, you don't need the UFS file system support (but
1416           you need NFS file system support obviously).
1417
1418           Note that this option is generally not needed for floppies, since a
1419           good portable way to transport files and directories between unixes
1420           (and even other operating systems) is given by the tar program ("man
1421           tar" or preferably "info tar").
1422
1423           When accessing NeXTstep files, you may need to convert them from the
1424           NeXT character set to the Latin1 character set; use the program
1425           recode ("info recode") for this purpose.
1426
1427           To compile the UFS file system support as a module, choose M here: the
1428           module will be called ufs.
1429
1430           If you haven't heard about all of this before, it's safe to say N.
1431
1432 config UFS_FS_WRITE
1433         bool "UFS file system write support (DANGEROUS)"
1434         depends on UFS_FS && EXPERIMENTAL
1435         help
1436           Say Y here if you want to try writing to UFS partitions. This is
1437           experimental, so you should back up your UFS partitions beforehand.
1438
1439 endmenu
1440
1441 menu "Network File Systems"
1442         depends on NET
1443
1444 config NFS_FS
1445         tristate "NFS file system support"
1446         depends on INET
1447         select LOCKD
1448         select SUNRPC
1449         help
1450           If you are connected to some other (usually local) Unix computer
1451           (using SLIP, PLIP, PPP or Ethernet) and want to mount files residing
1452           on that computer (the NFS server) using the Network File Sharing
1453           protocol, say Y. "Mounting files" means that the client can access
1454           the files with usual UNIX commands as if they were sitting on the
1455           client's hard disk. For this to work, the server must run the
1456           programs nfsd and mountd (but does not need to have NFS file system
1457           support enabled in its kernel). NFS is explained in the Network
1458           Administrator's Guide, available from
1459           <http://www.tldp.org/docs.html#guide>, on its man page: "man
1460           nfs", and in the NFS-HOWTO.
1461
1462           A superior but less widely used alternative to NFS is provided by
1463           the Coda file system; see "Coda file system support" below.
1464
1465           If you say Y here, you should have said Y to TCP/IP networking also.
1466           This option would enlarge your kernel by about 27 KB.
1467
1468           To compile this file system support as a module, choose M here: the
1469           module will be called nfs.
1470
1471           If you are configuring a diskless machine which will mount its root
1472           file system over NFS at boot time, say Y here and to "Kernel
1473           level IP autoconfiguration" above and to "Root file system on NFS"
1474           below. You cannot compile this driver as a module in this case.
1475           There are two packages designed for booting diskless machines over
1476           the net: netboot, available from
1477           <http://ftp1.sourceforge.net/netboot/>, and Etherboot,
1478           available from <http://ftp1.sourceforge.net/etherboot/>.
1479
1480           If you don't know what all this is about, say N.
1481
1482 config NFS_V3
1483         bool "Provide NFSv3 client support"
1484         depends on NFS_FS
1485         help
1486           Say Y here if you want your NFS client to be able to speak version
1487           3 of the NFS protocol.
1488
1489           If unsure, say Y.
1490
1491 config NFS_V4
1492         bool "Provide NFSv4 client support (EXPERIMENTAL)"
1493         depends on NFS_FS && EXPERIMENTAL
1494         select RPCSEC_GSS_KRB5
1495         help
1496           Say Y here if you want your NFS client to be able to speak the newer
1497           version 4 of the NFS protocol.
1498
1499           Note: Requires auxiliary userspace daemons which may be found on
1500                 http://www.citi.umich.edu/projects/nfsv4/
1501
1502           If unsure, say N.
1503
1504 config NFS_DIRECTIO
1505         bool "Allow direct I/O on NFS files (EXPERIMENTAL)"
1506         depends on NFS_FS && EXPERIMENTAL
1507         help
1508           This option enables applications to perform uncached I/O on files
1509           in NFS file systems using the O_DIRECT open() flag.  When O_DIRECT
1510           is set for a file, its data is not cached in the system's page
1511           cache.  Data is moved to and from user-level application buffers
1512           directly.  Unlike local disk-based file systems, NFS O_DIRECT has
1513           no alignment restrictions.
1514
1515           Unless your program is designed to use O_DIRECT properly, you are
1516           much better off allowing the NFS client to manage data caching for
1517           you.  Misusing O_DIRECT can cause poor server performance or network
1518           storms.  This kernel build option defaults OFF to avoid exposing
1519           system administrators unwittingly to a potentially hazardous
1520           feature.
1521
1522           For more details on NFS O_DIRECT, see fs/nfs/direct.c.
1523
1524           If unsure, say N.  This reduces the size of the NFS client, and
1525           causes open() to return EINVAL if a file residing in NFS is
1526           opened with the O_DIRECT flag.
1527
1528 config NFSD
1529         tristate "NFS server support"
1530         depends on INET
1531         select LOCKD
1532         select SUNRPC
1533         help
1534           If you want your Linux box to act as an NFS *server*, so that other
1535           computers on your local network which support NFS can access certain
1536           directories on your box transparently, you have two options: you can
1537           use the self-contained user space program nfsd, in which case you
1538           should say N here, or you can say Y and use the kernel based NFS
1539           server. The advantage of the kernel based solution is that it is
1540           faster.
1541
1542           In either case, you will need support software; the respective
1543           locations are given in the file <file:Documentation/Changes> in the
1544           NFS section.
1545
1546           If you say Y here, you will get support for version 2 of the NFS
1547           protocol (NFSv2). If you also want NFSv3, say Y to the next question
1548           as well.
1549
1550           Please read the NFS-HOWTO, available from
1551           <http://www.tldp.org/docs.html#howto>.
1552
1553           To compile the NFS server support as a module, choose M here: the
1554           module will be called nfsd.  If unsure, say N.
1555
1556 config NFSD_V3
1557         bool "Provide NFSv3 server support"
1558         depends on NFSD
1559         help
1560           If you would like to include the NFSv3 server as well as the NFSv2
1561           server, say Y here.  If unsure, say Y.
1562
1563 config NFSD_V4
1564         bool "Provide NFSv4 server support (EXPERIMENTAL)"
1565         depends on NFSD_V3 && EXPERIMENTAL
1566         select NFSD_TCP
1567         help
1568           If you would like to include the NFSv4 server as well as the NFSv2
1569           and NFSv3 servers, say Y here.  This feature is experimental, and
1570           should only be used if you are interested in helping to test NFSv4.
1571           If unsure, say N.
1572
1573 config NFSD_TCP
1574         bool "Provide NFS server over TCP support"
1575         depends on NFSD
1576         default y
1577         help
1578           If you want your NFS server to support TCP connections, say Y here.
1579           TCP connections usually perform better than the default UDP when
1580           the network is lossy or congested.  If unsure, say Y.
1581
1582 config ROOT_NFS
1583         bool "Root file system on NFS"
1584         depends on NFS_FS=y && IP_PNP
1585         help
1586           If you want your Linux box to mount its whole root file system (the
1587           one containing the directory /) from some other computer over the
1588           net via NFS (presumably because your box doesn't have a hard disk),
1589           say Y. Read <file:Documentation/nfsroot.txt> for details. It is
1590           likely that in this case, you also want to say Y to "Kernel level IP
1591           autoconfiguration" so that your box can discover its network address
1592           at boot time.
1593
1594           Most people say N here.
1595
1596 config LOCKD
1597         tristate
1598
1599 config LOCKD_V4
1600         bool
1601         depends on NFSD_V3 || NFS_V3
1602         default y
1603
1604 config EXPORTFS
1605         tristate
1606         default NFSD
1607
1608 config SUNRPC
1609         tristate
1610
1611 config SUNRPC_GSS
1612         tristate
1613
1614 config RPCSEC_GSS_KRB5
1615         tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
1616         depends on SUNRPC && EXPERIMENTAL
1617         select SUNRPC_GSS
1618         select CRYPTO
1619         select CRYPTO_MD5
1620         select CRYPTO_DES
1621         help
1622           Provides for secure RPC calls by means of a gss-api
1623           mechanism based on Kerberos V5. This is required for
1624           NFSv4.
1625
1626           Note: Requires an auxiliary userspace daemon which may be found on
1627                 http://www.citi.umich.edu/projects/nfsv4/
1628
1629           If unsure, say N.
1630
1631 config RPCSEC_GSS_SPKM3
1632         tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
1633         depends on SUNRPC && EXPERIMENTAL
1634         select SUNRPC_GSS
1635         select CRYPTO
1636         select CRYPTO_MD5
1637         select CRYPTO_DES
1638         help
1639           Provides for secure RPC calls by means of a gss-api
1640           mechanism based on the SPKM3 public-key mechanism.
1641
1642           Note: Requires an auxiliary userspace daemon which may be found on
1643                 http://www.citi.umich.edu/projects/nfsv4/
1644
1645           If unsure, say N.
1646
1647 config SMB_FS
1648         tristate "SMB file system support (to mount Windows shares etc.)"
1649         depends on INET
1650         select NLS
1651         help
1652           SMB (Server Message Block) is the protocol Windows for Workgroups
1653           (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
1654           files and printers over local networks.  Saying Y here allows you to
1655           mount their file systems (often called "shares" in this context) and
1656           access them just like any other Unix directory.  Currently, this
1657           works only if the Windows machines use TCP/IP as the underlying
1658           transport protocol, and not NetBEUI.  For details, read
1659           <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
1660           available from <http://www.tldp.org/docs.html#howto>.
1661
1662           Note: if you just want your box to act as an SMB *server* and make
1663           files and printing services available to Windows clients (which need
1664           to have a TCP/IP stack), you don't need to say Y here; you can use
1665           the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
1666           for that.
1667
1668           General information about how to connect Linux, Windows machines and
1669           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
1670
1671           To compile the SMB support as a module, choose M here: the module will
1672           be called smbfs.  Most people say N, however.
1673
1674 config SMB_NLS_DEFAULT
1675         bool "Use a default NLS"
1676         depends on SMB_FS
1677         help
1678           Enabling this will make smbfs use nls translations by default. You
1679           need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
1680           settings and you need to give the default nls for the SMB server as
1681           CONFIG_SMB_NLS_REMOTE.
1682
1683           The nls settings can be changed at mount time, if your smbmount
1684           supports that, using the codepage and iocharset parameters.
1685
1686           smbmount from samba 2.2.0 or later supports this.
1687
1688 config SMB_NLS_REMOTE
1689         string "Default Remote NLS Option"
1690         depends on SMB_NLS_DEFAULT
1691         default "cp437"
1692         help
1693           This setting allows you to specify a default value for which
1694           codepage the server uses. If this field is left blank no
1695           translations will be done by default. The local codepage/charset
1696           default to CONFIG_NLS_DEFAULT.
1697
1698           The nls settings can be changed at mount time, if your smbmount
1699           supports that, using the codepage and iocharset parameters.
1700
1701           smbmount from samba 2.2.0 or later supports this.
1702
1703 config CIFS
1704         tristate "CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)"
1705         depends on INET
1706         select NLS
1707         help
1708           This is the client VFS module for the Common Internet File System
1709           (CIFS) protocol which is the successor to the Server Message Block 
1710           (SMB) protocol, the native file sharing mechanism for most early
1711           PC operating systems.  The CIFS protocol is fully supported by 
1712           file servers such as Windows 2000 (including Windows 2003, NT 4  
1713           and Windows XP) as well by Samba (which provides excellent CIFS
1714           server support for Linux and many other operating systems). Currently
1715           you must use the smbfs client filesystem to access older SMB servers
1716           such as Windows 9x and OS/2.
1717
1718           The intent of the cifs module is to provide an advanced
1719           network file system client for mounting to CIFS compliant servers, 
1720           including support for dfs (hierarchical name space), secure per-user
1721           session establishment, safe distributed caching (oplock), optional
1722           packet signing, Unicode and other internationalization improvements, 
1723           and optional Winbind (nsswitch) integration. You do not need to enable
1724           cifs if running only a (Samba) server. It is possible to enable both
1725           smbfs and cifs (e.g. if you are using CIFS for accessing Windows 2003
1726           and Samba 3 servers, and smbfs for accessing old servers). If you need 
1727           to mount to Samba or Windows 2003 servers from this machine, say Y.
1728
1729 config CIFS_STATS
1730         bool "CIFS statistics"
1731         depends on CIFS
1732         help
1733           Enabling this option will cause statistics for each server share
1734           mounted by the cifs client to be displayed in /proc/fs/cifs/Stats
1735
1736 config CIFS_XATTR
1737         bool "CIFS extended attributes (EXPERIMENTAL)"
1738         depends on CIFS
1739         help
1740           Extended attributes are name:value pairs associated with inodes by
1741           the kernel or by users (see the attr(5) manual page, or visit
1742           <http://acl.bestbits.at/> for details).  CIFS maps the name of
1743           extended attributes beginning with the user namespace prefix
1744           to SMB/CIFS EAs. EAs are stored on Windows servers without the
1745           user namespace prefix, but their names are seen by Linux cifs clients
1746           prefaced by the user namespace prefix. The system namespace
1747           (used by some filesystems to store ACLs) is not supported at
1748           this time.
1749                                                                                                     
1750           If unsure, say N.
1751
1752 config CIFS_POSIX
1753         bool "CIFS POSIX Extensions (EXPERIMENTAL)"
1754         depends on CIFS
1755         help
1756           Enabling this option will cause the cifs client to attempt to
1757           negotiate a newer dialect with servers, such as Samba 3.0.5
1758           or later, that optionally can handle more POSIX like (rather
1759           than Windows like) file behavior.  If unsure, say N.
1760
1761 config NCP_FS
1762         tristate "NCP file system support (to mount NetWare volumes)"
1763         depends on IPX!=n || INET
1764         help
1765           NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
1766           used by Novell NetWare clients to talk to file servers.  It is to
1767           IPX what NFS is to TCP/IP, if that helps.  Saying Y here allows you
1768           to mount NetWare file server volumes and to access them just like
1769           any other Unix directory.  For details, please read the file
1770           <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
1771           the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.
1772
1773           You do not have to say Y here if you want your Linux box to act as a
1774           file *server* for Novell NetWare clients.
1775
1776           General information about how to connect Linux, Windows machines and
1777           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
1778
1779           To compile this as a module, choose M here: the module will be called
1780           ncpfs.  Say N unless you are connected to a Novell network.
1781
1782 source "fs/ncpfs/Kconfig"
1783
1784 config CODA_FS
1785         tristate "Coda file system support (advanced network fs)"
1786         depends on INET
1787         help
1788           Coda is an advanced network file system, similar to NFS in that it
1789           enables you to mount file systems of a remote server and access them
1790           with regular Unix commands as if they were sitting on your hard
1791           disk.  Coda has several advantages over NFS: support for
1792           disconnected operation (e.g. for laptops), read/write server
1793           replication, security model for authentication and encryption,
1794           persistent client caches and write back caching.
1795
1796           If you say Y here, your Linux box will be able to act as a Coda
1797           *client*.  You will need user level code as well, both for the
1798           client and server.  Servers are currently user level, i.e. they need
1799           no kernel support.  Please read
1800           <file:Documentation/filesystems/coda.txt> and check out the Coda
1801           home page <http://www.coda.cs.cmu.edu/>.
1802
1803           To compile the coda client support as a module, choose M here: the
1804           module will be called coda.
1805
1806 config CODA_FS_OLD_API
1807         bool "Use 96-bit Coda file identifiers"
1808         depends on CODA_FS
1809         help
1810           A new kernel-userspace API had to be introduced for Coda v6.0
1811           to support larger 128-bit file identifiers as needed by the
1812           new realms implementation.
1813
1814           However this new API is not backward compatible with older
1815           clients. If you really need to run the old Coda userspace
1816           cache manager then say Y.
1817           
1818           For most cases you probably want to say N.
1819
1820 config AFS_FS
1821 # for fs/nls/Config.in
1822         tristate "Andrew File System support (AFS) (Experimental)"
1823         depends on INET && EXPERIMENTAL
1824         select RXRPC
1825         help
1826           If you say Y here, you will get an experimental Andrew File System
1827           driver. It currently only supports unsecured read-only AFS access.
1828
1829           See Documentation/filesystems/afs.txt for more intormation.
1830
1831           If unsure, say N.
1832
1833 config RXRPC
1834         tristate
1835
1836 endmenu
1837
1838 menu "Partition Types"
1839
1840 source "fs/partitions/Kconfig"
1841
1842 endmenu
1843
1844 source "fs/nls/Kconfig"
1845
1846 endmenu
1847