fs/Kconfig: move iso9660, udf out
[linux-2.6.git] / fs / Kconfig
1 #
2 # File system configuration
3 #
4
5 menu "File systems"
6
7 if BLOCK
8
9 source "fs/ext2/Kconfig"
10 source "fs/ext3/Kconfig"
11 source "fs/ext4/Kconfig"
12
13 config FS_XIP
14 # execute in place
15         bool
16         depends on EXT2_FS_XIP
17         default y
18
19 source "fs/jbd/Kconfig"
20 source "fs/jbd2/Kconfig"
21
22 config FS_MBCACHE
23 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
24         tristate
25         default y if EXT2_FS=y && EXT2_FS_XATTR
26         default y if EXT3_FS=y && EXT3_FS_XATTR
27         default y if EXT4_FS=y && EXT4_FS_XATTR
28         default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR
29
30 source "fs/reiserfs/Kconfig"
31 source "fs/jfs/Kconfig"
32
33 config FS_POSIX_ACL
34 # Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
35 #
36 # NOTE: you can implement Posix ACLs without these helpers (XFS does).
37 #       Never use this symbol for ifdefs.
38 #
39         bool
40         default n
41
42 config FILE_LOCKING
43         bool "Enable POSIX file locking API" if EMBEDDED
44         default y
45         help
46           This option enables standard file locking support, required
47           for filesystems like NFS and for the flock() system
48           call. Disabling this option saves about 11k.
49
50 source "fs/xfs/Kconfig"
51 source "fs/gfs2/Kconfig"
52 source "fs/ocfs2/Kconfig"
53 source "fs/btrfs/Kconfig"
54
55 endif # BLOCK
56
57 source "fs/notify/Kconfig"
58
59 config QUOTA
60         bool "Quota support"
61         help
62           If you say Y here, you will be able to set per user limits for disk
63           usage (also called disk quotas). Currently, it works for the
64           ext2, ext3, and reiserfs file system. ext3 also supports journalled
65           quotas for which you don't need to run quotacheck(8) after an unclean
66           shutdown.
67           For further details, read the Quota mini-HOWTO, available from
68           <http://www.tldp.org/docs.html#howto>, or the documentation provided
69           with the quota tools. Probably the quota support is only useful for
70           multi user systems. If unsure, say N.
71
72 config QUOTA_NETLINK_INTERFACE
73         bool "Report quota messages through netlink interface"
74         depends on QUOTA && NET
75         help
76           If you say Y here, quota warnings (about exceeding softlimit, reaching
77           hardlimit, etc.) will be reported through netlink interface. If unsure,
78           say Y.
79
80 config PRINT_QUOTA_WARNING
81         bool "Print quota warnings to console (OBSOLETE)"
82         depends on QUOTA
83         default y
84         help
85           If you say Y here, quota warnings (about exceeding softlimit, reaching
86           hardlimit, etc.) will be printed to the process' controlling terminal.
87           Note that this behavior is currently deprecated and may go away in
88           future. Please use notification via netlink socket instead.
89
90 # Generic support for tree structured quota files. Seleted when needed.
91 config QUOTA_TREE
92          tristate
93
94 config QFMT_V1
95         tristate "Old quota format support"
96         depends on QUOTA
97         help
98           This quota format was (is) used by kernels earlier than 2.4.22. If
99           you have quota working and you don't want to convert to new quota
100           format say Y here.
101
102 config QFMT_V2
103         tristate "Quota format v2 support"
104         depends on QUOTA
105         select QUOTA_TREE
106         help
107           This quota format allows using quotas with 32-bit UIDs/GIDs. If you
108           need this functionality say Y here.
109
110 config QUOTACTL
111         bool
112         depends on XFS_QUOTA || QUOTA
113         default y
114
115 source "fs/autofs/Kconfig"
116 source "fs/autofs4/Kconfig"
117 source "fs/fuse/Kconfig"
118
119 config GENERIC_ACL
120         bool
121         select FS_POSIX_ACL
122
123 if BLOCK
124 menu "CD-ROM/DVD Filesystems"
125
126 source "fs/isofs/Kconfig"
127 source "fs/udf/Kconfig"
128
129 endmenu
130 endif # BLOCK
131
132 if BLOCK
133 menu "DOS/FAT/NT Filesystems"
134
135 config FAT_FS
136         tristate
137         select NLS
138         help
139           If you want to use one of the FAT-based file systems (the MS-DOS and
140           VFAT (Windows 95) file systems), then you must say Y or M here
141           to include FAT support. You will then be able to mount partitions or
142           diskettes with FAT-based file systems and transparently access the
143           files on them, i.e. MSDOS files will look and behave just like all
144           other Unix files.
145
146           This FAT support is not a file system in itself, it only provides
147           the foundation for the other file systems. You will have to say Y or
148           M to at least one of "MSDOS fs support" or "VFAT fs support" in
149           order to make use of it.
150
151           Another way to read and write MSDOS floppies and hard drive
152           partitions from within Linux (but not transparently) is with the
153           mtools ("man mtools") program suite. You don't need to say Y here in
154           order to do that.
155
156           If you need to move large files on floppies between a DOS and a
157           Linux box, say Y here, mount the floppy under Linux with an MSDOS
158           file system and use GNU tar's M option. GNU tar is a program
159           available for Unix and DOS ("man tar" or "info tar").
160
161           The FAT support will enlarge your kernel by about 37 KB. If unsure,
162           say Y.
163
164           To compile this as a module, choose M here: the module will be called
165           fat.  Note that if you compile the FAT support as a module, you
166           cannot compile any of the FAT-based file systems into the kernel
167           -- they will have to be modules as well.
168
169 config MSDOS_FS
170         tristate "MSDOS fs support"
171         select FAT_FS
172         help
173           This allows you to mount MSDOS partitions of your hard drive (unless
174           they are compressed; to access compressed MSDOS partitions under
175           Linux, you can either use the DOS emulator DOSEMU, described in the
176           DOSEMU-HOWTO, available from
177           <http://www.tldp.org/docs.html#howto>, or try dmsdosfs in
178           <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
179           intend to use dosemu with a non-compressed MSDOS partition, say Y
180           here) and MSDOS floppies. This means that file access becomes
181           transparent, i.e. the MSDOS files look and behave just like all
182           other Unix files.
183
184           If you have Windows 95 or Windows NT installed on your MSDOS
185           partitions, you should use the VFAT file system (say Y to "VFAT fs
186           support" below), or you will not be able to see the long filenames
187           generated by Windows 95 / Windows NT.
188
189           This option will enlarge your kernel by about 7 KB. If unsure,
190           answer Y. This will only work if you said Y to "DOS FAT fs support"
191           as well. To compile this as a module, choose M here: the module will
192           be called msdos.
193
194 config VFAT_FS
195         tristate "VFAT (Windows-95) fs support"
196         select FAT_FS
197         help
198           This option provides support for normal Windows file systems with
199           long filenames.  That includes non-compressed FAT-based file systems
200           used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
201           programs from the mtools package.
202
203           The VFAT support enlarges your kernel by about 10 KB and it only
204           works if you said Y to the "DOS FAT fs support" above.  Please read
205           the file <file:Documentation/filesystems/vfat.txt> for details.  If
206           unsure, say Y.
207
208           To compile this as a module, choose M here: the module will be called
209           vfat.
210
211 config FAT_DEFAULT_CODEPAGE
212         int "Default codepage for FAT"
213         depends on MSDOS_FS || VFAT_FS
214         default 437
215         help
216           This option should be set to the codepage of your FAT filesystems.
217           It can be overridden with the "codepage" mount option.
218           See <file:Documentation/filesystems/vfat.txt> for more information.
219
220 config FAT_DEFAULT_IOCHARSET
221         string "Default iocharset for FAT"
222         depends on VFAT_FS
223         default "iso8859-1"
224         help
225           Set this to the default input/output character set you'd
226           like FAT to use. It should probably match the character set
227           that most of your FAT filesystems use, and can be overridden
228           with the "iocharset" mount option for FAT filesystems.
229           Note that "utf8" is not recommended for FAT filesystems.
230           If unsure, you shouldn't set "utf8" here.
231           See <file:Documentation/filesystems/vfat.txt> for more information.
232
233 config NTFS_FS
234         tristate "NTFS file system support"
235         select NLS
236         help
237           NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
238
239           Saying Y or M here enables read support.  There is partial, but
240           safe, write support available.  For write support you must also
241           say Y to "NTFS write support" below.
242
243           There are also a number of user-space tools available, called
244           ntfsprogs.  These include ntfsundelete and ntfsresize, that work
245           without NTFS support enabled in the kernel.
246
247           This is a rewrite from scratch of Linux NTFS support and replaced
248           the old NTFS code starting with Linux 2.5.11.  A backport to
249           the Linux 2.4 kernel series is separately available as a patch
250           from the project web site.
251
252           For more information see <file:Documentation/filesystems/ntfs.txt>
253           and <http://www.linux-ntfs.org/>.
254
255           To compile this file system support as a module, choose M here: the
256           module will be called ntfs.
257
258           If you are not using Windows NT, 2000, XP or 2003 in addition to
259           Linux on your computer it is safe to say N.
260
261 config NTFS_DEBUG
262         bool "NTFS debugging support"
263         depends on NTFS_FS
264         help
265           If you are experiencing any problems with the NTFS file system, say
266           Y here.  This will result in additional consistency checks to be
267           performed by the driver as well as additional debugging messages to
268           be written to the system log.  Note that debugging messages are
269           disabled by default.  To enable them, supply the option debug_msgs=1
270           at the kernel command line when booting the kernel or as an option
271           to insmod when loading the ntfs module.  Once the driver is active,
272           you can enable debugging messages by doing (as root):
273           echo 1 > /proc/sys/fs/ntfs-debug
274           Replacing the "1" with "0" would disable debug messages.
275
276           If you leave debugging messages disabled, this results in little
277           overhead, but enabling debug messages results in very significant
278           slowdown of the system.
279
280           When reporting bugs, please try to have available a full dump of
281           debugging messages while the misbehaviour was occurring.
282
283 config NTFS_RW
284         bool "NTFS write support"
285         depends on NTFS_FS
286         help
287           This enables the partial, but safe, write support in the NTFS driver.
288
289           The only supported operation is overwriting existing files, without
290           changing the file length.  No file or directory creation, deletion or
291           renaming is possible.  Note only non-resident files can be written to
292           so you may find that some very small files (<500 bytes or so) cannot
293           be written to.
294
295           While we cannot guarantee that it will not damage any data, we have
296           so far not received a single report where the driver would have
297           damaged someones data so we assume it is perfectly safe to use.
298
299           Note:  While write support is safe in this version (a rewrite from
300           scratch of the NTFS support), it should be noted that the old NTFS
301           write support, included in Linux 2.5.10 and before (since 1997),
302           is not safe.
303
304           This is currently useful with TopologiLinux.  TopologiLinux is run
305           on top of any DOS/Microsoft Windows system without partitioning your
306           hard disk.  Unlike other Linux distributions TopologiLinux does not
307           need its own partition.  For more information see
308           <http://topologi-linux.sourceforge.net/>
309
310           It is perfectly safe to say N here.
311
312 endmenu
313 endif # BLOCK
314
315 menu "Pseudo filesystems"
316
317 source "fs/proc/Kconfig"
318
319 config SYSFS
320         bool "sysfs file system support" if EMBEDDED
321         default y
322         help
323         The sysfs filesystem is a virtual filesystem that the kernel uses to
324         export internal kernel objects, their attributes, and their
325         relationships to one another.
326
327         Users can use sysfs to ascertain useful information about the running
328         kernel, such as the devices the kernel has discovered on each bus and
329         which driver each is bound to. sysfs can also be used to tune devices
330         and other kernel subsystems.
331
332         Some system agents rely on the information in sysfs to operate.
333         /sbin/hotplug uses device and object attributes in sysfs to assist in
334         delegating policy decisions, like persistently naming devices.
335
336         sysfs is currently used by the block subsystem to mount the root
337         partition.  If sysfs is disabled you must specify the boot device on
338         the kernel boot command line via its major and minor numbers.  For
339         example, "root=03:01" for /dev/hda1.
340
341         Designers of embedded systems may wish to say N here to conserve space.
342
343 config TMPFS
344         bool "Virtual memory file system support (former shm fs)"
345         help
346           Tmpfs is a file system which keeps all files in virtual memory.
347
348           Everything in tmpfs is temporary in the sense that no files will be
349           created on your hard drive. The files live in memory and swap
350           space. If you unmount a tmpfs instance, everything stored therein is
351           lost.
352
353           See <file:Documentation/filesystems/tmpfs.txt> for details.
354
355 config TMPFS_POSIX_ACL
356         bool "Tmpfs POSIX Access Control Lists"
357         depends on TMPFS
358         select GENERIC_ACL
359         help
360           POSIX Access Control Lists (ACLs) support permissions for users and
361           groups beyond the owner/group/world scheme.
362
363           To learn more about Access Control Lists, visit the POSIX ACLs for
364           Linux website <http://acl.bestbits.at/>.
365
366           If you don't know what Access Control Lists are, say N.
367
368 config HUGETLBFS
369         bool "HugeTLB file system support"
370         depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
371                    (S390 && 64BIT) || BROKEN
372         help
373           hugetlbfs is a filesystem backing for HugeTLB pages, based on
374           ramfs. For architectures that support it, say Y here and read
375           <file:Documentation/vm/hugetlbpage.txt> for details.
376
377           If unsure, say N.
378
379 config HUGETLB_PAGE
380         def_bool HUGETLBFS
381
382 config CONFIGFS_FS
383         tristate "Userspace-driven configuration filesystem"
384         depends on SYSFS
385         help
386           configfs is a ram-based filesystem that provides the converse
387           of sysfs's functionality. Where sysfs is a filesystem-based
388           view of kernel objects, configfs is a filesystem-based manager
389           of kernel objects, or config_items.
390
391           Both sysfs and configfs can and should exist together on the
392           same system. One is not a replacement for the other.
393
394 endmenu
395
396 menuconfig MISC_FILESYSTEMS
397         bool "Miscellaneous filesystems"
398         default y
399         ---help---
400           Say Y here to get to see options for various miscellaneous
401           filesystems, such as filesystems that came from other
402           operating systems.
403
404           This option alone does not add any kernel code.
405
406           If you say N, all options in this submenu will be skipped and
407           disabled; if unsure, say Y here.
408
409 if MISC_FILESYSTEMS
410
411 config ADFS_FS
412         tristate "ADFS file system support (EXPERIMENTAL)"
413         depends on BLOCK && EXPERIMENTAL
414         help
415           The Acorn Disc Filing System is the standard file system of the
416           RiscOS operating system which runs on Acorn's ARM-based Risc PC
417           systems and the Acorn Archimedes range of machines. If you say Y
418           here, Linux will be able to read from ADFS partitions on hard drives
419           and from ADFS-formatted floppy discs. If you also want to be able to
420           write to those devices, say Y to "ADFS write support" below.
421
422           The ADFS partition should be the first partition (i.e.,
423           /dev/[hs]d?1) on each of your drives. Please read the file
424           <file:Documentation/filesystems/adfs.txt> for further details.
425
426           To compile this code as a module, choose M here: the module will be
427           called adfs.
428
429           If unsure, say N.
430
431 config ADFS_FS_RW
432         bool "ADFS write support (DANGEROUS)"
433         depends on ADFS_FS
434         help
435           If you say Y here, you will be able to write to ADFS partitions on
436           hard drives and ADFS-formatted floppy disks. This is experimental
437           codes, so if you're unsure, say N.
438
439 config AFFS_FS
440         tristate "Amiga FFS file system support (EXPERIMENTAL)"
441         depends on BLOCK && EXPERIMENTAL
442         help
443           The Fast File System (FFS) is the common file system used on hard
444           disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20).  Say Y
445           if you want to be able to read and write files from and to an Amiga
446           FFS partition on your hard drive.  Amiga floppies however cannot be
447           read with this driver due to an incompatibility of the floppy
448           controller used in an Amiga and the standard floppy controller in
449           PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
450           and <file:fs/affs/Changes>.
451
452           With this driver you can also mount disk files used by Bernd
453           Schmidt's Un*X Amiga Emulator
454           (<http://www.freiburg.linux.de/~uae/>).
455           If you want to do this, you will also need to say Y or M to "Loop
456           device support", above.
457
458           To compile this file system support as a module, choose M here: the
459           module will be called affs.  If unsure, say N.
460
461 config ECRYPT_FS
462         tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
463         depends on EXPERIMENTAL && KEYS && CRYPTO && NET
464         help
465           Encrypted filesystem that operates on the VFS layer.  See
466           <file:Documentation/filesystems/ecryptfs.txt> to learn more about
467           eCryptfs.  Userspace components are required and can be
468           obtained from <http://ecryptfs.sf.net>.
469
470           To compile this file system support as a module, choose M here: the
471           module will be called ecryptfs.
472
473 config HFS_FS
474         tristate "Apple Macintosh file system support (EXPERIMENTAL)"
475         depends on BLOCK && EXPERIMENTAL
476         select NLS
477         help
478           If you say Y here, you will be able to mount Macintosh-formatted
479           floppy disks and hard drive partitions with full read-write access.
480           Please read <file:Documentation/filesystems/hfs.txt> to learn about
481           the available mount options.
482
483           To compile this file system support as a module, choose M here: the
484           module will be called hfs.
485
486 config HFSPLUS_FS
487         tristate "Apple Extended HFS file system support"
488         depends on BLOCK
489         select NLS
490         select NLS_UTF8
491         help
492           If you say Y here, you will be able to mount extended format
493           Macintosh-formatted hard drive partitions with full read-write access.
494
495           This file system is often called HFS+ and was introduced with
496           MacOS 8. It includes all Mac specific filesystem data such as
497           data forks and creator codes, but it also has several UNIX
498           style features such as file ownership and permissions.
499
500 config BEFS_FS
501         tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)"
502         depends on BLOCK && EXPERIMENTAL
503         select NLS
504         help
505           The BeOS File System (BeFS) is the native file system of Be, Inc's
506           BeOS. Notable features include support for arbitrary attributes
507           on files and directories, and database-like indices on selected
508           attributes. (Also note that this driver doesn't make those features
509           available at this time). It is a 64 bit filesystem, so it supports
510           extremely large volumes and files.
511
512           If you use this filesystem, you should also say Y to at least one
513           of the NLS (native language support) options below.
514
515           If you don't know what this is about, say N.
516
517           To compile this as a module, choose M here: the module will be
518           called befs.
519
520 config BEFS_DEBUG
521         bool "Debug BeFS"
522         depends on BEFS_FS
523         help
524           If you say Y here, you can use the 'debug' mount option to enable
525           debugging output from the driver.
526
527 config BFS_FS
528         tristate "BFS file system support (EXPERIMENTAL)"
529         depends on BLOCK && EXPERIMENTAL
530         help
531           Boot File System (BFS) is a file system used under SCO UnixWare to
532           allow the bootloader access to the kernel image and other important
533           files during the boot process.  It is usually mounted under /stand
534           and corresponds to the slice marked as "STAND" in the UnixWare
535           partition.  You should say Y if you want to read or write the files
536           on your /stand slice from within Linux.  You then also need to say Y
537           to "UnixWare slices support", below.  More information about the BFS
538           file system is contained in the file
539           <file:Documentation/filesystems/bfs.txt>.
540
541           If you don't know what this is about, say N.
542
543           To compile this as a module, choose M here: the module will be called
544           bfs.  Note that the file system of your root partition (the one
545           containing the directory /) cannot be compiled as a module.
546
547
548
549 config EFS_FS
550         tristate "EFS file system support (read only) (EXPERIMENTAL)"
551         depends on BLOCK && EXPERIMENTAL
552         help
553           EFS is an older file system used for non-ISO9660 CD-ROMs and hard
554           disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
555           uses the XFS file system for hard disk partitions however).
556
557           This implementation only offers read-only access. If you don't know
558           what all this is about, it's safe to say N. For more information
559           about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.
560
561           To compile the EFS file system support as a module, choose M here: the
562           module will be called efs.
563
564 source "fs/jffs2/Kconfig"
565 # UBIFS File system configuration
566 source "fs/ubifs/Kconfig"
567
568 config CRAMFS
569         tristate "Compressed ROM file system support (cramfs)"
570         depends on BLOCK
571         select ZLIB_INFLATE
572         help
573           Saying Y here includes support for CramFs (Compressed ROM File
574           System).  CramFs is designed to be a simple, small, and compressed
575           file system for ROM based embedded systems.  CramFs is read-only,
576           limited to 256MB file systems (with 16MB files), and doesn't support
577           16/32 bits uid/gid, hard links and timestamps.
578
579           See <file:Documentation/filesystems/cramfs.txt> and
580           <file:fs/cramfs/README> for further information.
581
582           To compile this as a module, choose M here: the module will be called
583           cramfs.  Note that the root file system (the one containing the
584           directory /) cannot be compiled as a module.
585
586           If unsure, say N.
587
588 config SQUASHFS
589         tristate "SquashFS 4.0 - Squashed file system support"
590         depends on BLOCK
591         select ZLIB_INFLATE
592         help
593           Saying Y here includes support for SquashFS 4.0 (a Compressed
594           Read-Only File System).  Squashfs is a highly compressed read-only
595           filesystem for Linux.  It uses zlib compression to compress both
596           files, inodes and directories.  Inodes in the system are very small
597           and all blocks are packed to minimise data overhead. Block sizes
598           greater than 4K are supported up to a maximum of 1 Mbytes (default
599           block size 128K).  SquashFS 4.0 supports 64 bit filesystems and files
600           (larger than 4GB), full uid/gid information, hard links and
601           timestamps.  
602
603           Squashfs is intended for general read-only filesystem use, for
604           archival use (i.e. in cases where a .tar.gz file may be used), and in
605           embedded systems where low overhead is needed.  Further information
606           and tools are available from http://squashfs.sourceforge.net.
607
608           If you want to compile this as a module ( = code which can be
609           inserted in and removed from the running kernel whenever you want),
610           say M here and read <file:Documentation/modules.txt>.  The module
611           will be called squashfs.  Note that the root file system (the one
612           containing the directory /) cannot be compiled as a module.
613
614           If unsure, say N.
615
616 config SQUASHFS_EMBEDDED
617
618         bool "Additional option for memory-constrained systems" 
619         depends on SQUASHFS
620         default n
621         help
622           Saying Y here allows you to specify cache size.
623
624           If unsure, say N.
625
626 config SQUASHFS_FRAGMENT_CACHE_SIZE
627         int "Number of fragments cached" if SQUASHFS_EMBEDDED
628         depends on SQUASHFS
629         default "3"
630         help
631           By default SquashFS caches the last 3 fragments read from
632           the filesystem.  Increasing this amount may mean SquashFS
633           has to re-read fragments less often from disk, at the expense
634           of extra system memory.  Decreasing this amount will mean
635           SquashFS uses less memory at the expense of extra reads from disk.
636
637           Note there must be at least one cached fragment.  Anything
638           much more than three will probably not make much difference.
639
640 config VXFS_FS
641         tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
642         depends on BLOCK
643         help
644           FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
645           file system format.  VERITAS VxFS(TM) is the standard file system
646           of SCO UnixWare (and possibly others) and optionally available
647           for Sunsoft Solaris, HP-UX and many other operating systems.
648           Currently only readonly access is supported.
649
650           NOTE: the file system type as used by mount(1), mount(2) and
651           fstab(5) is 'vxfs' as it describes the file system format, not
652           the actual driver.
653
654           To compile this as a module, choose M here: the module will be
655           called freevxfs.  If unsure, say N.
656
657 config MINIX_FS
658         tristate "Minix file system support"
659         depends on BLOCK
660         help
661           Minix is a simple operating system used in many classes about OS's.
662           The minix file system (method to organize files on a hard disk
663           partition or a floppy disk) was the original file system for Linux,
664           but has been superseded by the second extended file system ext2fs.
665           You don't want to use the minix file system on your hard disk
666           because of certain built-in restrictions, but it is sometimes found
667           on older Linux floppy disks.  This option will enlarge your kernel
668           by about 28 KB. If unsure, say N.
669
670           To compile this file system support as a module, choose M here: the
671           module will be called minix.  Note that the file system of your root
672           partition (the one containing the directory /) cannot be compiled as
673           a module.
674
675 config OMFS_FS
676         tristate "SonicBlue Optimized MPEG File System support"
677         depends on BLOCK
678         select CRC_ITU_T
679         help
680           This is the proprietary file system used by the Rio Karma music
681           player and ReplayTV DVR.  Despite the name, this filesystem is not
682           more efficient than a standard FS for MPEG files, in fact likely
683           the opposite is true.  Say Y if you have either of these devices
684           and wish to mount its disk.
685
686           To compile this file system support as a module, choose M here: the
687           module will be called omfs.  If unsure, say N.
688
689 config HPFS_FS
690         tristate "OS/2 HPFS file system support"
691         depends on BLOCK
692         help
693           OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
694           is the file system used for organizing files on OS/2 hard disk
695           partitions. Say Y if you want to be able to read files from and
696           write files to an OS/2 HPFS partition on your hard drive. OS/2
697           floppies however are in regular MSDOS format, so you don't need this
698           option in order to be able to read them. Read
699           <file:Documentation/filesystems/hpfs.txt>.
700
701           To compile this file system support as a module, choose M here: the
702           module will be called hpfs.  If unsure, say N.
703
704
705 config QNX4FS_FS
706         tristate "QNX4 file system support (read only)"
707         depends on BLOCK
708         help
709           This is the file system used by the real-time operating systems
710           QNX 4 and QNX 6 (the latter is also called QNX RTP).
711           Further information is available at <http://www.qnx.com/>.
712           Say Y if you intend to mount QNX hard disks or floppies.
713           Unless you say Y to "QNX4FS read-write support" below, you will
714           only be able to read these file systems.
715
716           To compile this file system support as a module, choose M here: the
717           module will be called qnx4.
718
719           If you don't know whether you need it, then you don't need it:
720           answer N.
721
722 config QNX4FS_RW
723         bool "QNX4FS write support (DANGEROUS)"
724         depends on QNX4FS_FS && EXPERIMENTAL && BROKEN
725         help
726           Say Y if you want to test write support for QNX4 file systems.
727
728           It's currently broken, so for now:
729           answer N.
730
731 config ROMFS_FS
732         tristate "ROM file system support"
733         depends on BLOCK
734         ---help---
735           This is a very small read-only file system mainly intended for
736           initial ram disks of installation disks, but it could be used for
737           other read-only media as well.  Read
738           <file:Documentation/filesystems/romfs.txt> for details.
739
740           To compile this file system support as a module, choose M here: the
741           module will be called romfs.  Note that the file system of your
742           root partition (the one containing the directory /) cannot be a
743           module.
744
745           If you don't know whether you need it, then you don't need it:
746           answer N.
747
748
749 config SYSV_FS
750         tristate "System V/Xenix/V7/Coherent file system support"
751         depends on BLOCK
752         help
753           SCO, Xenix and Coherent are commercial Unix systems for Intel
754           machines, and Version 7 was used on the DEC PDP-11. Saying Y
755           here would allow you to read from their floppies and hard disk
756           partitions.
757
758           If you have floppies or hard disk partitions like that, it is likely
759           that they contain binaries from those other Unix systems; in order
760           to run these binaries, you will want to install linux-abi which is
761           a set of kernel modules that lets you run SCO, Xenix, Wyse,
762           UnixWare, Dell Unix and System V programs under Linux.  It is
763           available via FTP (user: ftp) from
764           <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
765           NOTE: that will work only for binaries from Intel-based systems;
766           PDP ones will have to wait until somebody ports Linux to -11 ;-)
767
768           If you only intend to mount files from some other Unix over the
769           network using NFS, you don't need the System V file system support
770           (but you need NFS file system support obviously).
771
772           Note that this option is generally not needed for floppies, since a
773           good portable way to transport files and directories between unixes
774           (and even other operating systems) is given by the tar program ("man
775           tar" or preferably "info tar").  Note also that this option has
776           nothing whatsoever to do with the option "System V IPC". Read about
777           the System V file system in
778           <file:Documentation/filesystems/sysv-fs.txt>.
779           Saying Y here will enlarge your kernel by about 27 KB.
780
781           To compile this as a module, choose M here: the module will be called
782           sysv.
783
784           If you haven't heard about all of this before, it's safe to say N.
785
786
787 config UFS_FS
788         tristate "UFS file system support (read only)"
789         depends on BLOCK
790         help
791           BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
792           OpenBSD and NeXTstep) use a file system called UFS. Some System V
793           Unixes can create and mount hard disk partitions and diskettes using
794           this file system as well. Saying Y here will allow you to read from
795           these partitions; if you also want to write to them, say Y to the
796           experimental "UFS file system write support", below. Please read the
797           file <file:Documentation/filesystems/ufs.txt> for more information.
798
799           The recently released UFS2 variant (used in FreeBSD 5.x) is
800           READ-ONLY supported.
801
802           Note that this option is generally not needed for floppies, since a
803           good portable way to transport files and directories between unixes
804           (and even other operating systems) is given by the tar program ("man
805           tar" or preferably "info tar").
806
807           When accessing NeXTstep files, you may need to convert them from the
808           NeXT character set to the Latin1 character set; use the program
809           recode ("info recode") for this purpose.
810
811           To compile the UFS file system support as a module, choose M here: the
812           module will be called ufs.
813
814           If you haven't heard about all of this before, it's safe to say N.
815
816 config UFS_FS_WRITE
817         bool "UFS file system write support (DANGEROUS)"
818         depends on UFS_FS && EXPERIMENTAL
819         help
820           Say Y here if you want to try writing to UFS partitions. This is
821           experimental, so you should back up your UFS partitions beforehand.
822
823 config UFS_DEBUG
824         bool "UFS debugging"
825         depends on UFS_FS
826         help
827           If you are experiencing any problems with the UFS filesystem, say
828           Y here.  This will result in _many_ additional debugging messages to be
829           written to the system log.
830
831 endif # MISC_FILESYSTEMS
832
833 menuconfig NETWORK_FILESYSTEMS
834         bool "Network File Systems"
835         default y
836         depends on NET
837         ---help---
838           Say Y here to get to see options for network filesystems and
839           filesystem-related networking code, such as NFS daemon and
840           RPCSEC security modules.
841
842           This option alone does not add any kernel code.
843
844           If you say N, all options in this submenu will be skipped and
845           disabled; if unsure, say Y here.
846
847 if NETWORK_FILESYSTEMS
848
849 config NFS_FS
850         tristate "NFS client support"
851         depends on INET
852         select LOCKD
853         select SUNRPC
854         select NFS_ACL_SUPPORT if NFS_V3_ACL
855         help
856           Choose Y here if you want to access files residing on other
857           computers using Sun's Network File System protocol.  To compile
858           this file system support as a module, choose M here: the module
859           will be called nfs.
860
861           To mount file systems exported by NFS servers, you also need to
862           install the user space mount.nfs command which can be found in
863           the Linux nfs-utils package, available from http://linux-nfs.org/.
864           Information about using the mount command is available in the
865           mount(8) man page.  More detail about the Linux NFS client
866           implementation is available via the nfs(5) man page.
867
868           Below you can choose which versions of the NFS protocol are
869           available in the kernel to mount NFS servers.  Support for NFS
870           version 2 (RFC 1094) is always available when NFS_FS is selected.
871
872           To configure a system which mounts its root file system via NFS
873           at boot time, say Y here, select "Kernel level IP
874           autoconfiguration" in the NETWORK menu, and select "Root file
875           system on NFS" below.  You cannot compile this file system as a
876           module in this case.
877
878           If unsure, say N.
879
880 config NFS_V3
881         bool "NFS client support for NFS version 3"
882         depends on NFS_FS
883         help
884           This option enables support for version 3 of the NFS protocol
885           (RFC 1813) in the kernel's NFS client.
886
887           If unsure, say Y.
888
889 config NFS_V3_ACL
890         bool "NFS client support for the NFSv3 ACL protocol extension"
891         depends on NFS_V3
892         help
893           Some NFS servers support an auxiliary NFSv3 ACL protocol that
894           Sun added to Solaris but never became an official part of the
895           NFS version 3 protocol.  This protocol extension allows
896           applications on NFS clients to manipulate POSIX Access Control
897           Lists on files residing on NFS servers.  NFS servers enforce
898           ACLs on local files whether this protocol is available or not.
899
900           Choose Y here if your NFS server supports the Solaris NFSv3 ACL
901           protocol extension and you want your NFS client to allow
902           applications to access and modify ACLs on files on the server.
903
904           Most NFS servers don't support the Solaris NFSv3 ACL protocol
905           extension.  You can choose N here or specify the "noacl" mount
906           option to prevent your NFS client from trying to use the NFSv3
907           ACL protocol.
908
909           If unsure, say N.
910
911 config NFS_V4
912         bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
913         depends on NFS_FS && EXPERIMENTAL
914         select RPCSEC_GSS_KRB5
915         help
916           This option enables support for version 4 of the NFS protocol
917           (RFC 3530) in the kernel's NFS client.
918
919           To mount NFS servers using NFSv4, you also need to install user
920           space programs which can be found in the Linux nfs-utils package,
921           available from http://linux-nfs.org/.
922
923           If unsure, say N.
924
925 config ROOT_NFS
926         bool "Root file system on NFS"
927         depends on NFS_FS=y && IP_PNP
928         help
929           If you want your system to mount its root file system via NFS,
930           choose Y here.  This is common practice for managing systems
931           without local permanent storage.  For details, read
932           <file:Documentation/filesystems/nfsroot.txt>.
933
934           Most people say N here.
935
936 config NFSD
937         tristate "NFS server support"
938         depends on INET
939         select LOCKD
940         select SUNRPC
941         select EXPORTFS
942         select NFS_ACL_SUPPORT if NFSD_V2_ACL
943         help
944           Choose Y here if you want to allow other computers to access
945           files residing on this system using Sun's Network File System
946           protocol.  To compile the NFS server support as a module,
947           choose M here: the module will be called nfsd.
948
949           You may choose to use a user-space NFS server instead, in which
950           case you can choose N here.
951
952           To export local file systems using NFS, you also need to install
953           user space programs which can be found in the Linux nfs-utils
954           package, available from http://linux-nfs.org/.  More detail about
955           the Linux NFS server implementation is available via the
956           exports(5) man page.
957
958           Below you can choose which versions of the NFS protocol are
959           available to clients mounting the NFS server on this system.
960           Support for NFS version 2 (RFC 1094) is always available when
961           CONFIG_NFSD is selected.
962
963           If unsure, say N.
964
965 config NFSD_V2_ACL
966         bool
967         depends on NFSD
968
969 config NFSD_V3
970         bool "NFS server support for NFS version 3"
971         depends on NFSD
972         help
973           This option enables support in your system's NFS server for
974           version 3 of the NFS protocol (RFC 1813).
975
976           If unsure, say Y.
977
978 config NFSD_V3_ACL
979         bool "NFS server support for the NFSv3 ACL protocol extension"
980         depends on NFSD_V3
981         select NFSD_V2_ACL
982         help
983           Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
984           never became an official part of the NFS version 3 protocol.
985           This protocol extension allows applications on NFS clients to
986           manipulate POSIX Access Control Lists on files residing on NFS
987           servers.  NFS servers enforce POSIX ACLs on local files whether
988           this protocol is available or not.
989
990           This option enables support in your system's NFS server for the
991           NFSv3 ACL protocol extension allowing NFS clients to manipulate
992           POSIX ACLs on files exported by your system's NFS server.  NFS
993           clients which support the Solaris NFSv3 ACL protocol can then
994           access and modify ACLs on your NFS server.
995
996           To store ACLs on your NFS server, you also need to enable ACL-
997           related CONFIG options for your local file systems of choice.
998
999           If unsure, say N.
1000
1001 config NFSD_V4
1002         bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
1003         depends on NFSD && PROC_FS && EXPERIMENTAL
1004         select NFSD_V3
1005         select FS_POSIX_ACL
1006         select RPCSEC_GSS_KRB5
1007         help
1008           This option enables support in your system's NFS server for
1009           version 4 of the NFS protocol (RFC 3530).
1010
1011           To export files using NFSv4, you need to install additional user
1012           space programs which can be found in the Linux nfs-utils package,
1013           available from http://linux-nfs.org/.
1014
1015           If unsure, say N.
1016
1017 config LOCKD
1018         tristate
1019
1020 config LOCKD_V4
1021         bool
1022         depends on NFSD_V3 || NFS_V3
1023         default y
1024
1025 config EXPORTFS
1026         tristate
1027
1028 config NFS_ACL_SUPPORT
1029         tristate
1030         select FS_POSIX_ACL
1031
1032 config NFS_COMMON
1033         bool
1034         depends on NFSD || NFS_FS
1035         default y
1036
1037 config SUNRPC
1038         tristate
1039
1040 config SUNRPC_GSS
1041         tristate
1042
1043 config SUNRPC_XPRT_RDMA
1044         tristate
1045         depends on SUNRPC && INFINIBAND && EXPERIMENTAL
1046         default SUNRPC && INFINIBAND
1047         help
1048           This option enables an RPC client transport capability that
1049           allows the NFS client to mount servers via an RDMA-enabled
1050           transport.
1051
1052           To compile RPC client RDMA transport support as a module,
1053           choose M here: the module will be called xprtrdma.
1054
1055           If unsure, say N.
1056
1057 config SUNRPC_REGISTER_V4
1058         bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)"
1059         depends on SUNRPC && EXPERIMENTAL
1060         default n
1061         help
1062           Sun added support for registering RPC services at an IPv6
1063           address by creating two new versions of the rpcbind protocol
1064           (RFC 1833).
1065
1066           This option enables support in the kernel RPC server for
1067           registering kernel RPC services via version 4 of the rpcbind
1068           protocol.  If you enable this option, you must run a portmapper
1069           daemon that supports rpcbind protocol version 4.
1070
1071           Serving NFS over IPv6 from knfsd (the kernel's NFS server)
1072           requires that you enable this option and use a portmapper that
1073           supports rpcbind version 4.
1074
1075           If unsure, say N to get traditional behavior (register kernel
1076           RPC services using only rpcbind version 2).  Distributions
1077           using the legacy Linux portmapper daemon must say N here.
1078
1079 config RPCSEC_GSS_KRB5
1080         tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
1081         depends on SUNRPC && EXPERIMENTAL
1082         select SUNRPC_GSS
1083         select CRYPTO
1084         select CRYPTO_MD5
1085         select CRYPTO_DES
1086         select CRYPTO_CBC
1087         help
1088           Choose Y here to enable Secure RPC using the Kerberos version 5
1089           GSS-API mechanism (RFC 1964).
1090
1091           Secure RPC calls with Kerberos require an auxiliary user-space
1092           daemon which may be found in the Linux nfs-utils package
1093           available from http://linux-nfs.org/.  In addition, user-space
1094           Kerberos support should be installed.
1095
1096           If unsure, say N.
1097
1098 config RPCSEC_GSS_SPKM3
1099         tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
1100         depends on SUNRPC && EXPERIMENTAL
1101         select SUNRPC_GSS
1102         select CRYPTO
1103         select CRYPTO_MD5
1104         select CRYPTO_DES
1105         select CRYPTO_CAST5
1106         select CRYPTO_CBC
1107         help
1108           Choose Y here to enable Secure RPC using the SPKM3 public key
1109           GSS-API mechansim (RFC 2025).
1110
1111           Secure RPC calls with SPKM3 require an auxiliary userspace
1112           daemon which may be found in the Linux nfs-utils package
1113           available from http://linux-nfs.org/.
1114
1115           If unsure, say N.
1116
1117 config SMB_FS
1118         tristate "SMB file system support (OBSOLETE, please use CIFS)"
1119         depends on INET
1120         select NLS
1121         help
1122           SMB (Server Message Block) is the protocol Windows for Workgroups
1123           (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
1124           files and printers over local networks.  Saying Y here allows you to
1125           mount their file systems (often called "shares" in this context) and
1126           access them just like any other Unix directory.  Currently, this
1127           works only if the Windows machines use TCP/IP as the underlying
1128           transport protocol, and not NetBEUI.  For details, read
1129           <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
1130           available from <http://www.tldp.org/docs.html#howto>.
1131
1132           Note: if you just want your box to act as an SMB *server* and make
1133           files and printing services available to Windows clients (which need
1134           to have a TCP/IP stack), you don't need to say Y here; you can use
1135           the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
1136           for that.
1137
1138           General information about how to connect Linux, Windows machines and
1139           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
1140
1141           To compile the SMB support as a module, choose M here:
1142           the module will be called smbfs.  Most people say N, however.
1143
1144 config SMB_NLS_DEFAULT
1145         bool "Use a default NLS"
1146         depends on SMB_FS
1147         help
1148           Enabling this will make smbfs use nls translations by default. You
1149           need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
1150           settings and you need to give the default nls for the SMB server as
1151           CONFIG_SMB_NLS_REMOTE.
1152
1153           The nls settings can be changed at mount time, if your smbmount
1154           supports that, using the codepage and iocharset parameters.
1155
1156           smbmount from samba 2.2.0 or later supports this.
1157
1158 config SMB_NLS_REMOTE
1159         string "Default Remote NLS Option"
1160         depends on SMB_NLS_DEFAULT
1161         default "cp437"
1162         help
1163           This setting allows you to specify a default value for which
1164           codepage the server uses. If this field is left blank no
1165           translations will be done by default. The local codepage/charset
1166           default to CONFIG_NLS_DEFAULT.
1167
1168           The nls settings can be changed at mount time, if your smbmount
1169           supports that, using the codepage and iocharset parameters.
1170
1171           smbmount from samba 2.2.0 or later supports this.
1172
1173 source "fs/cifs/Kconfig"
1174
1175 config NCP_FS
1176         tristate "NCP file system support (to mount NetWare volumes)"
1177         depends on IPX!=n || INET
1178         help
1179           NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
1180           used by Novell NetWare clients to talk to file servers.  It is to
1181           IPX what NFS is to TCP/IP, if that helps.  Saying Y here allows you
1182           to mount NetWare file server volumes and to access them just like
1183           any other Unix directory.  For details, please read the file
1184           <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
1185           the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.
1186
1187           You do not have to say Y here if you want your Linux box to act as a
1188           file *server* for Novell NetWare clients.
1189
1190           General information about how to connect Linux, Windows machines and
1191           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
1192
1193           To compile this as a module, choose M here: the module will be called
1194           ncpfs.  Say N unless you are connected to a Novell network.
1195
1196 source "fs/ncpfs/Kconfig"
1197
1198 config CODA_FS
1199         tristate "Coda file system support (advanced network fs)"
1200         depends on INET
1201         help
1202           Coda is an advanced network file system, similar to NFS in that it
1203           enables you to mount file systems of a remote server and access them
1204           with regular Unix commands as if they were sitting on your hard
1205           disk.  Coda has several advantages over NFS: support for
1206           disconnected operation (e.g. for laptops), read/write server
1207           replication, security model for authentication and encryption,
1208           persistent client caches and write back caching.
1209
1210           If you say Y here, your Linux box will be able to act as a Coda
1211           *client*.  You will need user level code as well, both for the
1212           client and server.  Servers are currently user level, i.e. they need
1213           no kernel support.  Please read
1214           <file:Documentation/filesystems/coda.txt> and check out the Coda
1215           home page <http://www.coda.cs.cmu.edu/>.
1216
1217           To compile the coda client support as a module, choose M here: the
1218           module will be called coda.
1219
1220 config AFS_FS
1221         tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
1222         depends on INET && EXPERIMENTAL
1223         select AF_RXRPC
1224         help
1225           If you say Y here, you will get an experimental Andrew File System
1226           driver. It currently only supports unsecured read-only AFS access.
1227
1228           See <file:Documentation/filesystems/afs.txt> for more information.
1229
1230           If unsure, say N.
1231
1232 config AFS_DEBUG
1233         bool "AFS dynamic debugging"
1234         depends on AFS_FS
1235         help
1236           Say Y here to make runtime controllable debugging messages appear.
1237
1238           See <file:Documentation/filesystems/afs.txt> for more information.
1239
1240           If unsure, say N.
1241
1242 config 9P_FS
1243         tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
1244         depends on INET && NET_9P && EXPERIMENTAL
1245         help
1246           If you say Y here, you will get experimental support for
1247           Plan 9 resource sharing via the 9P2000 protocol.
1248
1249           See <http://v9fs.sf.net> for more information.
1250
1251           If unsure, say N.
1252
1253 endif # NETWORK_FILESYSTEMS
1254
1255 if BLOCK
1256 menu "Partition Types"
1257
1258 source "fs/partitions/Kconfig"
1259
1260 endmenu
1261 endif
1262
1263 source "fs/nls/Kconfig"
1264 source "fs/dlm/Kconfig"
1265
1266 endmenu