fs/Kconfig: move adfs 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 source "fs/fat/Kconfig"
136 source "fs/ntfs/Kconfig"
137
138 endmenu
139 endif # BLOCK
140
141 menu "Pseudo filesystems"
142
143 source "fs/proc/Kconfig"
144 source "fs/sysfs/Kconfig"
145
146 config TMPFS
147         bool "Virtual memory file system support (former shm fs)"
148         help
149           Tmpfs is a file system which keeps all files in virtual memory.
150
151           Everything in tmpfs is temporary in the sense that no files will be
152           created on your hard drive. The files live in memory and swap
153           space. If you unmount a tmpfs instance, everything stored therein is
154           lost.
155
156           See <file:Documentation/filesystems/tmpfs.txt> for details.
157
158 config TMPFS_POSIX_ACL
159         bool "Tmpfs POSIX Access Control Lists"
160         depends on TMPFS
161         select GENERIC_ACL
162         help
163           POSIX Access Control Lists (ACLs) support permissions for users and
164           groups beyond the owner/group/world scheme.
165
166           To learn more about Access Control Lists, visit the POSIX ACLs for
167           Linux website <http://acl.bestbits.at/>.
168
169           If you don't know what Access Control Lists are, say N.
170
171 config HUGETLBFS
172         bool "HugeTLB file system support"
173         depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
174                    (S390 && 64BIT) || BROKEN
175         help
176           hugetlbfs is a filesystem backing for HugeTLB pages, based on
177           ramfs. For architectures that support it, say Y here and read
178           <file:Documentation/vm/hugetlbpage.txt> for details.
179
180           If unsure, say N.
181
182 config HUGETLB_PAGE
183         def_bool HUGETLBFS
184
185 source "fs/configfs/Kconfig"
186
187 endmenu
188
189 menuconfig MISC_FILESYSTEMS
190         bool "Miscellaneous filesystems"
191         default y
192         ---help---
193           Say Y here to get to see options for various miscellaneous
194           filesystems, such as filesystems that came from other
195           operating systems.
196
197           This option alone does not add any kernel code.
198
199           If you say N, all options in this submenu will be skipped and
200           disabled; if unsure, say Y here.
201
202 if MISC_FILESYSTEMS
203
204 source "fs/adfs/Kconfig"
205
206 config AFFS_FS
207         tristate "Amiga FFS file system support (EXPERIMENTAL)"
208         depends on BLOCK && EXPERIMENTAL
209         help
210           The Fast File System (FFS) is the common file system used on hard
211           disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20).  Say Y
212           if you want to be able to read and write files from and to an Amiga
213           FFS partition on your hard drive.  Amiga floppies however cannot be
214           read with this driver due to an incompatibility of the floppy
215           controller used in an Amiga and the standard floppy controller in
216           PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
217           and <file:fs/affs/Changes>.
218
219           With this driver you can also mount disk files used by Bernd
220           Schmidt's Un*X Amiga Emulator
221           (<http://www.freiburg.linux.de/~uae/>).
222           If you want to do this, you will also need to say Y or M to "Loop
223           device support", above.
224
225           To compile this file system support as a module, choose M here: the
226           module will be called affs.  If unsure, say N.
227
228 config ECRYPT_FS
229         tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
230         depends on EXPERIMENTAL && KEYS && CRYPTO && NET
231         help
232           Encrypted filesystem that operates on the VFS layer.  See
233           <file:Documentation/filesystems/ecryptfs.txt> to learn more about
234           eCryptfs.  Userspace components are required and can be
235           obtained from <http://ecryptfs.sf.net>.
236
237           To compile this file system support as a module, choose M here: the
238           module will be called ecryptfs.
239
240 config HFS_FS
241         tristate "Apple Macintosh file system support (EXPERIMENTAL)"
242         depends on BLOCK && EXPERIMENTAL
243         select NLS
244         help
245           If you say Y here, you will be able to mount Macintosh-formatted
246           floppy disks and hard drive partitions with full read-write access.
247           Please read <file:Documentation/filesystems/hfs.txt> to learn about
248           the available mount options.
249
250           To compile this file system support as a module, choose M here: the
251           module will be called hfs.
252
253 config HFSPLUS_FS
254         tristate "Apple Extended HFS file system support"
255         depends on BLOCK
256         select NLS
257         select NLS_UTF8
258         help
259           If you say Y here, you will be able to mount extended format
260           Macintosh-formatted hard drive partitions with full read-write access.
261
262           This file system is often called HFS+ and was introduced with
263           MacOS 8. It includes all Mac specific filesystem data such as
264           data forks and creator codes, but it also has several UNIX
265           style features such as file ownership and permissions.
266
267 config BEFS_FS
268         tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)"
269         depends on BLOCK && EXPERIMENTAL
270         select NLS
271         help
272           The BeOS File System (BeFS) is the native file system of Be, Inc's
273           BeOS. Notable features include support for arbitrary attributes
274           on files and directories, and database-like indices on selected
275           attributes. (Also note that this driver doesn't make those features
276           available at this time). It is a 64 bit filesystem, so it supports
277           extremely large volumes and files.
278
279           If you use this filesystem, you should also say Y to at least one
280           of the NLS (native language support) options below.
281
282           If you don't know what this is about, say N.
283
284           To compile this as a module, choose M here: the module will be
285           called befs.
286
287 config BEFS_DEBUG
288         bool "Debug BeFS"
289         depends on BEFS_FS
290         help
291           If you say Y here, you can use the 'debug' mount option to enable
292           debugging output from the driver.
293
294 config BFS_FS
295         tristate "BFS file system support (EXPERIMENTAL)"
296         depends on BLOCK && EXPERIMENTAL
297         help
298           Boot File System (BFS) is a file system used under SCO UnixWare to
299           allow the bootloader access to the kernel image and other important
300           files during the boot process.  It is usually mounted under /stand
301           and corresponds to the slice marked as "STAND" in the UnixWare
302           partition.  You should say Y if you want to read or write the files
303           on your /stand slice from within Linux.  You then also need to say Y
304           to "UnixWare slices support", below.  More information about the BFS
305           file system is contained in the file
306           <file:Documentation/filesystems/bfs.txt>.
307
308           If you don't know what this is about, say N.
309
310           To compile this as a module, choose M here: the module will be called
311           bfs.  Note that the file system of your root partition (the one
312           containing the directory /) cannot be compiled as a module.
313
314
315
316 config EFS_FS
317         tristate "EFS file system support (read only) (EXPERIMENTAL)"
318         depends on BLOCK && EXPERIMENTAL
319         help
320           EFS is an older file system used for non-ISO9660 CD-ROMs and hard
321           disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
322           uses the XFS file system for hard disk partitions however).
323
324           This implementation only offers read-only access. If you don't know
325           what all this is about, it's safe to say N. For more information
326           about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.
327
328           To compile the EFS file system support as a module, choose M here: the
329           module will be called efs.
330
331 source "fs/jffs2/Kconfig"
332 # UBIFS File system configuration
333 source "fs/ubifs/Kconfig"
334
335 config CRAMFS
336         tristate "Compressed ROM file system support (cramfs)"
337         depends on BLOCK
338         select ZLIB_INFLATE
339         help
340           Saying Y here includes support for CramFs (Compressed ROM File
341           System).  CramFs is designed to be a simple, small, and compressed
342           file system for ROM based embedded systems.  CramFs is read-only,
343           limited to 256MB file systems (with 16MB files), and doesn't support
344           16/32 bits uid/gid, hard links and timestamps.
345
346           See <file:Documentation/filesystems/cramfs.txt> and
347           <file:fs/cramfs/README> for further information.
348
349           To compile this as a module, choose M here: the module will be called
350           cramfs.  Note that the root file system (the one containing the
351           directory /) cannot be compiled as a module.
352
353           If unsure, say N.
354
355 config SQUASHFS
356         tristate "SquashFS 4.0 - Squashed file system support"
357         depends on BLOCK
358         select ZLIB_INFLATE
359         help
360           Saying Y here includes support for SquashFS 4.0 (a Compressed
361           Read-Only File System).  Squashfs is a highly compressed read-only
362           filesystem for Linux.  It uses zlib compression to compress both
363           files, inodes and directories.  Inodes in the system are very small
364           and all blocks are packed to minimise data overhead. Block sizes
365           greater than 4K are supported up to a maximum of 1 Mbytes (default
366           block size 128K).  SquashFS 4.0 supports 64 bit filesystems and files
367           (larger than 4GB), full uid/gid information, hard links and
368           timestamps.  
369
370           Squashfs is intended for general read-only filesystem use, for
371           archival use (i.e. in cases where a .tar.gz file may be used), and in
372           embedded systems where low overhead is needed.  Further information
373           and tools are available from http://squashfs.sourceforge.net.
374
375           If you want to compile this as a module ( = code which can be
376           inserted in and removed from the running kernel whenever you want),
377           say M here and read <file:Documentation/modules.txt>.  The module
378           will be called squashfs.  Note that the root file system (the one
379           containing the directory /) cannot be compiled as a module.
380
381           If unsure, say N.
382
383 config SQUASHFS_EMBEDDED
384
385         bool "Additional option for memory-constrained systems" 
386         depends on SQUASHFS
387         default n
388         help
389           Saying Y here allows you to specify cache size.
390
391           If unsure, say N.
392
393 config SQUASHFS_FRAGMENT_CACHE_SIZE
394         int "Number of fragments cached" if SQUASHFS_EMBEDDED
395         depends on SQUASHFS
396         default "3"
397         help
398           By default SquashFS caches the last 3 fragments read from
399           the filesystem.  Increasing this amount may mean SquashFS
400           has to re-read fragments less often from disk, at the expense
401           of extra system memory.  Decreasing this amount will mean
402           SquashFS uses less memory at the expense of extra reads from disk.
403
404           Note there must be at least one cached fragment.  Anything
405           much more than three will probably not make much difference.
406
407 config VXFS_FS
408         tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
409         depends on BLOCK
410         help
411           FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
412           file system format.  VERITAS VxFS(TM) is the standard file system
413           of SCO UnixWare (and possibly others) and optionally available
414           for Sunsoft Solaris, HP-UX and many other operating systems.
415           Currently only readonly access is supported.
416
417           NOTE: the file system type as used by mount(1), mount(2) and
418           fstab(5) is 'vxfs' as it describes the file system format, not
419           the actual driver.
420
421           To compile this as a module, choose M here: the module will be
422           called freevxfs.  If unsure, say N.
423
424 config MINIX_FS
425         tristate "Minix file system support"
426         depends on BLOCK
427         help
428           Minix is a simple operating system used in many classes about OS's.
429           The minix file system (method to organize files on a hard disk
430           partition or a floppy disk) was the original file system for Linux,
431           but has been superseded by the second extended file system ext2fs.
432           You don't want to use the minix file system on your hard disk
433           because of certain built-in restrictions, but it is sometimes found
434           on older Linux floppy disks.  This option will enlarge your kernel
435           by about 28 KB. If unsure, say N.
436
437           To compile this file system support as a module, choose M here: the
438           module will be called minix.  Note that the file system of your root
439           partition (the one containing the directory /) cannot be compiled as
440           a module.
441
442 config OMFS_FS
443         tristate "SonicBlue Optimized MPEG File System support"
444         depends on BLOCK
445         select CRC_ITU_T
446         help
447           This is the proprietary file system used by the Rio Karma music
448           player and ReplayTV DVR.  Despite the name, this filesystem is not
449           more efficient than a standard FS for MPEG files, in fact likely
450           the opposite is true.  Say Y if you have either of these devices
451           and wish to mount its disk.
452
453           To compile this file system support as a module, choose M here: the
454           module will be called omfs.  If unsure, say N.
455
456 config HPFS_FS
457         tristate "OS/2 HPFS file system support"
458         depends on BLOCK
459         help
460           OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
461           is the file system used for organizing files on OS/2 hard disk
462           partitions. Say Y if you want to be able to read files from and
463           write files to an OS/2 HPFS partition on your hard drive. OS/2
464           floppies however are in regular MSDOS format, so you don't need this
465           option in order to be able to read them. Read
466           <file:Documentation/filesystems/hpfs.txt>.
467
468           To compile this file system support as a module, choose M here: the
469           module will be called hpfs.  If unsure, say N.
470
471
472 config QNX4FS_FS
473         tristate "QNX4 file system support (read only)"
474         depends on BLOCK
475         help
476           This is the file system used by the real-time operating systems
477           QNX 4 and QNX 6 (the latter is also called QNX RTP).
478           Further information is available at <http://www.qnx.com/>.
479           Say Y if you intend to mount QNX hard disks or floppies.
480           Unless you say Y to "QNX4FS read-write support" below, you will
481           only be able to read these file systems.
482
483           To compile this file system support as a module, choose M here: the
484           module will be called qnx4.
485
486           If you don't know whether you need it, then you don't need it:
487           answer N.
488
489 config QNX4FS_RW
490         bool "QNX4FS write support (DANGEROUS)"
491         depends on QNX4FS_FS && EXPERIMENTAL && BROKEN
492         help
493           Say Y if you want to test write support for QNX4 file systems.
494
495           It's currently broken, so for now:
496           answer N.
497
498 config ROMFS_FS
499         tristate "ROM file system support"
500         depends on BLOCK
501         ---help---
502           This is a very small read-only file system mainly intended for
503           initial ram disks of installation disks, but it could be used for
504           other read-only media as well.  Read
505           <file:Documentation/filesystems/romfs.txt> for details.
506
507           To compile this file system support as a module, choose M here: the
508           module will be called romfs.  Note that the file system of your
509           root partition (the one containing the directory /) cannot be a
510           module.
511
512           If you don't know whether you need it, then you don't need it:
513           answer N.
514
515
516 config SYSV_FS
517         tristate "System V/Xenix/V7/Coherent file system support"
518         depends on BLOCK
519         help
520           SCO, Xenix and Coherent are commercial Unix systems for Intel
521           machines, and Version 7 was used on the DEC PDP-11. Saying Y
522           here would allow you to read from their floppies and hard disk
523           partitions.
524
525           If you have floppies or hard disk partitions like that, it is likely
526           that they contain binaries from those other Unix systems; in order
527           to run these binaries, you will want to install linux-abi which is
528           a set of kernel modules that lets you run SCO, Xenix, Wyse,
529           UnixWare, Dell Unix and System V programs under Linux.  It is
530           available via FTP (user: ftp) from
531           <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
532           NOTE: that will work only for binaries from Intel-based systems;
533           PDP ones will have to wait until somebody ports Linux to -11 ;-)
534
535           If you only intend to mount files from some other Unix over the
536           network using NFS, you don't need the System V file system support
537           (but you need NFS file system support obviously).
538
539           Note that this option is generally not needed for floppies, since a
540           good portable way to transport files and directories between unixes
541           (and even other operating systems) is given by the tar program ("man
542           tar" or preferably "info tar").  Note also that this option has
543           nothing whatsoever to do with the option "System V IPC". Read about
544           the System V file system in
545           <file:Documentation/filesystems/sysv-fs.txt>.
546           Saying Y here will enlarge your kernel by about 27 KB.
547
548           To compile this as a module, choose M here: the module will be called
549           sysv.
550
551           If you haven't heard about all of this before, it's safe to say N.
552
553
554 config UFS_FS
555         tristate "UFS file system support (read only)"
556         depends on BLOCK
557         help
558           BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
559           OpenBSD and NeXTstep) use a file system called UFS. Some System V
560           Unixes can create and mount hard disk partitions and diskettes using
561           this file system as well. Saying Y here will allow you to read from
562           these partitions; if you also want to write to them, say Y to the
563           experimental "UFS file system write support", below. Please read the
564           file <file:Documentation/filesystems/ufs.txt> for more information.
565
566           The recently released UFS2 variant (used in FreeBSD 5.x) is
567           READ-ONLY supported.
568
569           Note that this option is generally not needed for floppies, since a
570           good portable way to transport files and directories between unixes
571           (and even other operating systems) is given by the tar program ("man
572           tar" or preferably "info tar").
573
574           When accessing NeXTstep files, you may need to convert them from the
575           NeXT character set to the Latin1 character set; use the program
576           recode ("info recode") for this purpose.
577
578           To compile the UFS file system support as a module, choose M here: the
579           module will be called ufs.
580
581           If you haven't heard about all of this before, it's safe to say N.
582
583 config UFS_FS_WRITE
584         bool "UFS file system write support (DANGEROUS)"
585         depends on UFS_FS && EXPERIMENTAL
586         help
587           Say Y here if you want to try writing to UFS partitions. This is
588           experimental, so you should back up your UFS partitions beforehand.
589
590 config UFS_DEBUG
591         bool "UFS debugging"
592         depends on UFS_FS
593         help
594           If you are experiencing any problems with the UFS filesystem, say
595           Y here.  This will result in _many_ additional debugging messages to be
596           written to the system log.
597
598 endif # MISC_FILESYSTEMS
599
600 menuconfig NETWORK_FILESYSTEMS
601         bool "Network File Systems"
602         default y
603         depends on NET
604         ---help---
605           Say Y here to get to see options for network filesystems and
606           filesystem-related networking code, such as NFS daemon and
607           RPCSEC security modules.
608
609           This option alone does not add any kernel code.
610
611           If you say N, all options in this submenu will be skipped and
612           disabled; if unsure, say Y here.
613
614 if NETWORK_FILESYSTEMS
615
616 config NFS_FS
617         tristate "NFS client support"
618         depends on INET
619         select LOCKD
620         select SUNRPC
621         select NFS_ACL_SUPPORT if NFS_V3_ACL
622         help
623           Choose Y here if you want to access files residing on other
624           computers using Sun's Network File System protocol.  To compile
625           this file system support as a module, choose M here: the module
626           will be called nfs.
627
628           To mount file systems exported by NFS servers, you also need to
629           install the user space mount.nfs command which can be found in
630           the Linux nfs-utils package, available from http://linux-nfs.org/.
631           Information about using the mount command is available in the
632           mount(8) man page.  More detail about the Linux NFS client
633           implementation is available via the nfs(5) man page.
634
635           Below you can choose which versions of the NFS protocol are
636           available in the kernel to mount NFS servers.  Support for NFS
637           version 2 (RFC 1094) is always available when NFS_FS is selected.
638
639           To configure a system which mounts its root file system via NFS
640           at boot time, say Y here, select "Kernel level IP
641           autoconfiguration" in the NETWORK menu, and select "Root file
642           system on NFS" below.  You cannot compile this file system as a
643           module in this case.
644
645           If unsure, say N.
646
647 config NFS_V3
648         bool "NFS client support for NFS version 3"
649         depends on NFS_FS
650         help
651           This option enables support for version 3 of the NFS protocol
652           (RFC 1813) in the kernel's NFS client.
653
654           If unsure, say Y.
655
656 config NFS_V3_ACL
657         bool "NFS client support for the NFSv3 ACL protocol extension"
658         depends on NFS_V3
659         help
660           Some NFS servers support an auxiliary NFSv3 ACL protocol that
661           Sun added to Solaris but never became an official part of the
662           NFS version 3 protocol.  This protocol extension allows
663           applications on NFS clients to manipulate POSIX Access Control
664           Lists on files residing on NFS servers.  NFS servers enforce
665           ACLs on local files whether this protocol is available or not.
666
667           Choose Y here if your NFS server supports the Solaris NFSv3 ACL
668           protocol extension and you want your NFS client to allow
669           applications to access and modify ACLs on files on the server.
670
671           Most NFS servers don't support the Solaris NFSv3 ACL protocol
672           extension.  You can choose N here or specify the "noacl" mount
673           option to prevent your NFS client from trying to use the NFSv3
674           ACL protocol.
675
676           If unsure, say N.
677
678 config NFS_V4
679         bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
680         depends on NFS_FS && EXPERIMENTAL
681         select RPCSEC_GSS_KRB5
682         help
683           This option enables support for version 4 of the NFS protocol
684           (RFC 3530) in the kernel's NFS client.
685
686           To mount NFS servers using NFSv4, you also need to install user
687           space programs which can be found in the Linux nfs-utils package,
688           available from http://linux-nfs.org/.
689
690           If unsure, say N.
691
692 config ROOT_NFS
693         bool "Root file system on NFS"
694         depends on NFS_FS=y && IP_PNP
695         help
696           If you want your system to mount its root file system via NFS,
697           choose Y here.  This is common practice for managing systems
698           without local permanent storage.  For details, read
699           <file:Documentation/filesystems/nfsroot.txt>.
700
701           Most people say N here.
702
703 config NFSD
704         tristate "NFS server support"
705         depends on INET
706         select LOCKD
707         select SUNRPC
708         select EXPORTFS
709         select NFS_ACL_SUPPORT if NFSD_V2_ACL
710         help
711           Choose Y here if you want to allow other computers to access
712           files residing on this system using Sun's Network File System
713           protocol.  To compile the NFS server support as a module,
714           choose M here: the module will be called nfsd.
715
716           You may choose to use a user-space NFS server instead, in which
717           case you can choose N here.
718
719           To export local file systems using NFS, you also need to install
720           user space programs which can be found in the Linux nfs-utils
721           package, available from http://linux-nfs.org/.  More detail about
722           the Linux NFS server implementation is available via the
723           exports(5) man page.
724
725           Below you can choose which versions of the NFS protocol are
726           available to clients mounting the NFS server on this system.
727           Support for NFS version 2 (RFC 1094) is always available when
728           CONFIG_NFSD is selected.
729
730           If unsure, say N.
731
732 config NFSD_V2_ACL
733         bool
734         depends on NFSD
735
736 config NFSD_V3
737         bool "NFS server support for NFS version 3"
738         depends on NFSD
739         help
740           This option enables support in your system's NFS server for
741           version 3 of the NFS protocol (RFC 1813).
742
743           If unsure, say Y.
744
745 config NFSD_V3_ACL
746         bool "NFS server support for the NFSv3 ACL protocol extension"
747         depends on NFSD_V3
748         select NFSD_V2_ACL
749         help
750           Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
751           never became an official part of the NFS version 3 protocol.
752           This protocol extension allows applications on NFS clients to
753           manipulate POSIX Access Control Lists on files residing on NFS
754           servers.  NFS servers enforce POSIX ACLs on local files whether
755           this protocol is available or not.
756
757           This option enables support in your system's NFS server for the
758           NFSv3 ACL protocol extension allowing NFS clients to manipulate
759           POSIX ACLs on files exported by your system's NFS server.  NFS
760           clients which support the Solaris NFSv3 ACL protocol can then
761           access and modify ACLs on your NFS server.
762
763           To store ACLs on your NFS server, you also need to enable ACL-
764           related CONFIG options for your local file systems of choice.
765
766           If unsure, say N.
767
768 config NFSD_V4
769         bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
770         depends on NFSD && PROC_FS && EXPERIMENTAL
771         select NFSD_V3
772         select FS_POSIX_ACL
773         select RPCSEC_GSS_KRB5
774         help
775           This option enables support in your system's NFS server for
776           version 4 of the NFS protocol (RFC 3530).
777
778           To export files using NFSv4, you need to install additional user
779           space programs which can be found in the Linux nfs-utils package,
780           available from http://linux-nfs.org/.
781
782           If unsure, say N.
783
784 config LOCKD
785         tristate
786
787 config LOCKD_V4
788         bool
789         depends on NFSD_V3 || NFS_V3
790         default y
791
792 config EXPORTFS
793         tristate
794
795 config NFS_ACL_SUPPORT
796         tristate
797         select FS_POSIX_ACL
798
799 config NFS_COMMON
800         bool
801         depends on NFSD || NFS_FS
802         default y
803
804 config SUNRPC
805         tristate
806
807 config SUNRPC_GSS
808         tristate
809
810 config SUNRPC_XPRT_RDMA
811         tristate
812         depends on SUNRPC && INFINIBAND && EXPERIMENTAL
813         default SUNRPC && INFINIBAND
814         help
815           This option enables an RPC client transport capability that
816           allows the NFS client to mount servers via an RDMA-enabled
817           transport.
818
819           To compile RPC client RDMA transport support as a module,
820           choose M here: the module will be called xprtrdma.
821
822           If unsure, say N.
823
824 config SUNRPC_REGISTER_V4
825         bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)"
826         depends on SUNRPC && EXPERIMENTAL
827         default n
828         help
829           Sun added support for registering RPC services at an IPv6
830           address by creating two new versions of the rpcbind protocol
831           (RFC 1833).
832
833           This option enables support in the kernel RPC server for
834           registering kernel RPC services via version 4 of the rpcbind
835           protocol.  If you enable this option, you must run a portmapper
836           daemon that supports rpcbind protocol version 4.
837
838           Serving NFS over IPv6 from knfsd (the kernel's NFS server)
839           requires that you enable this option and use a portmapper that
840           supports rpcbind version 4.
841
842           If unsure, say N to get traditional behavior (register kernel
843           RPC services using only rpcbind version 2).  Distributions
844           using the legacy Linux portmapper daemon must say N here.
845
846 config RPCSEC_GSS_KRB5
847         tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
848         depends on SUNRPC && EXPERIMENTAL
849         select SUNRPC_GSS
850         select CRYPTO
851         select CRYPTO_MD5
852         select CRYPTO_DES
853         select CRYPTO_CBC
854         help
855           Choose Y here to enable Secure RPC using the Kerberos version 5
856           GSS-API mechanism (RFC 1964).
857
858           Secure RPC calls with Kerberos require an auxiliary user-space
859           daemon which may be found in the Linux nfs-utils package
860           available from http://linux-nfs.org/.  In addition, user-space
861           Kerberos support should be installed.
862
863           If unsure, say N.
864
865 config RPCSEC_GSS_SPKM3
866         tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
867         depends on SUNRPC && EXPERIMENTAL
868         select SUNRPC_GSS
869         select CRYPTO
870         select CRYPTO_MD5
871         select CRYPTO_DES
872         select CRYPTO_CAST5
873         select CRYPTO_CBC
874         help
875           Choose Y here to enable Secure RPC using the SPKM3 public key
876           GSS-API mechansim (RFC 2025).
877
878           Secure RPC calls with SPKM3 require an auxiliary userspace
879           daemon which may be found in the Linux nfs-utils package
880           available from http://linux-nfs.org/.
881
882           If unsure, say N.
883
884 config SMB_FS
885         tristate "SMB file system support (OBSOLETE, please use CIFS)"
886         depends on INET
887         select NLS
888         help
889           SMB (Server Message Block) is the protocol Windows for Workgroups
890           (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
891           files and printers over local networks.  Saying Y here allows you to
892           mount their file systems (often called "shares" in this context) and
893           access them just like any other Unix directory.  Currently, this
894           works only if the Windows machines use TCP/IP as the underlying
895           transport protocol, and not NetBEUI.  For details, read
896           <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
897           available from <http://www.tldp.org/docs.html#howto>.
898
899           Note: if you just want your box to act as an SMB *server* and make
900           files and printing services available to Windows clients (which need
901           to have a TCP/IP stack), you don't need to say Y here; you can use
902           the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
903           for that.
904
905           General information about how to connect Linux, Windows machines and
906           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
907
908           To compile the SMB support as a module, choose M here:
909           the module will be called smbfs.  Most people say N, however.
910
911 config SMB_NLS_DEFAULT
912         bool "Use a default NLS"
913         depends on SMB_FS
914         help
915           Enabling this will make smbfs use nls translations by default. You
916           need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
917           settings and you need to give the default nls for the SMB server as
918           CONFIG_SMB_NLS_REMOTE.
919
920           The nls settings can be changed at mount time, if your smbmount
921           supports that, using the codepage and iocharset parameters.
922
923           smbmount from samba 2.2.0 or later supports this.
924
925 config SMB_NLS_REMOTE
926         string "Default Remote NLS Option"
927         depends on SMB_NLS_DEFAULT
928         default "cp437"
929         help
930           This setting allows you to specify a default value for which
931           codepage the server uses. If this field is left blank no
932           translations will be done by default. The local codepage/charset
933           default to CONFIG_NLS_DEFAULT.
934
935           The nls settings can be changed at mount time, if your smbmount
936           supports that, using the codepage and iocharset parameters.
937
938           smbmount from samba 2.2.0 or later supports this.
939
940 source "fs/cifs/Kconfig"
941
942 config NCP_FS
943         tristate "NCP file system support (to mount NetWare volumes)"
944         depends on IPX!=n || INET
945         help
946           NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
947           used by Novell NetWare clients to talk to file servers.  It is to
948           IPX what NFS is to TCP/IP, if that helps.  Saying Y here allows you
949           to mount NetWare file server volumes and to access them just like
950           any other Unix directory.  For details, please read the file
951           <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
952           the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.
953
954           You do not have to say Y here if you want your Linux box to act as a
955           file *server* for Novell NetWare clients.
956
957           General information about how to connect Linux, Windows machines and
958           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
959
960           To compile this as a module, choose M here: the module will be called
961           ncpfs.  Say N unless you are connected to a Novell network.
962
963 source "fs/ncpfs/Kconfig"
964
965 config CODA_FS
966         tristate "Coda file system support (advanced network fs)"
967         depends on INET
968         help
969           Coda is an advanced network file system, similar to NFS in that it
970           enables you to mount file systems of a remote server and access them
971           with regular Unix commands as if they were sitting on your hard
972           disk.  Coda has several advantages over NFS: support for
973           disconnected operation (e.g. for laptops), read/write server
974           replication, security model for authentication and encryption,
975           persistent client caches and write back caching.
976
977           If you say Y here, your Linux box will be able to act as a Coda
978           *client*.  You will need user level code as well, both for the
979           client and server.  Servers are currently user level, i.e. they need
980           no kernel support.  Please read
981           <file:Documentation/filesystems/coda.txt> and check out the Coda
982           home page <http://www.coda.cs.cmu.edu/>.
983
984           To compile the coda client support as a module, choose M here: the
985           module will be called coda.
986
987 config AFS_FS
988         tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
989         depends on INET && EXPERIMENTAL
990         select AF_RXRPC
991         help
992           If you say Y here, you will get an experimental Andrew File System
993           driver. It currently only supports unsecured read-only AFS access.
994
995           See <file:Documentation/filesystems/afs.txt> for more information.
996
997           If unsure, say N.
998
999 config AFS_DEBUG
1000         bool "AFS dynamic debugging"
1001         depends on AFS_FS
1002         help
1003           Say Y here to make runtime controllable debugging messages appear.
1004
1005           See <file:Documentation/filesystems/afs.txt> for more information.
1006
1007           If unsure, say N.
1008
1009 config 9P_FS
1010         tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
1011         depends on INET && NET_9P && EXPERIMENTAL
1012         help
1013           If you say Y here, you will get experimental support for
1014           Plan 9 resource sharing via the 9P2000 protocol.
1015
1016           See <http://v9fs.sf.net> for more information.
1017
1018           If unsure, say N.
1019
1020 endif # NETWORK_FILESYSTEMS
1021
1022 if BLOCK
1023 menu "Partition Types"
1024
1025 source "fs/partitions/Kconfig"
1026
1027 endmenu
1028 endif
1029
1030 source "fs/nls/Kconfig"
1031 source "fs/dlm/Kconfig"
1032
1033 endmenu