Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs...
[linux-2.6] / 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 config REISERFS_FS
31         tristate "Reiserfs support"
32         help
33           Stores not just filenames but the files themselves in a balanced
34           tree.  Uses journalling.
35
36           Balanced trees are more efficient than traditional file system
37           architectural foundations.
38
39           In general, ReiserFS is as fast as ext2, but is very efficient with
40           large directories and small files.  Additional patches are needed
41           for NFS and quotas, please see <http://www.namesys.com/> for links.
42
43           It is more easily extended to have features currently found in
44           database and keyword search systems than block allocation based file
45           systems are.  The next version will be so extended, and will support
46           plugins consistent with our motto ``It takes more than a license to
47           make source code open.''
48
49           Read <http://www.namesys.com/> to learn more about reiserfs.
50
51           Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com.
52
53           If you like it, you can pay us to add new features to it that you
54           need, buy a support contract, or pay us to port it to another OS.
55
56 config REISERFS_CHECK
57         bool "Enable reiserfs debug mode"
58         depends on REISERFS_FS
59         help
60           If you set this to Y, then ReiserFS will perform every check it can
61           possibly imagine of its internal consistency throughout its
62           operation.  It will also go substantially slower.  More than once we
63           have forgotten that this was on, and then gone despondent over the
64           latest benchmarks.:-) Use of this option allows our team to go all
65           out in checking for consistency when debugging without fear of its
66           effect on end users.  If you are on the verge of sending in a bug
67           report, say Y and you might get a useful error message.  Almost
68           everyone should say N.
69
70 config REISERFS_PROC_INFO
71         bool "Stats in /proc/fs/reiserfs"
72         depends on REISERFS_FS && PROC_FS
73         help
74           Create under /proc/fs/reiserfs a hierarchy of files, displaying
75           various ReiserFS statistics and internal data at the expense of
76           making your kernel or module slightly larger (+8 KB). This also
77           increases the amount of kernel memory required for each mount.
78           Almost everyone but ReiserFS developers and people fine-tuning
79           reiserfs or tracing problems should say N.
80
81 config REISERFS_FS_XATTR
82         bool "ReiserFS extended attributes"
83         depends on REISERFS_FS
84         help
85           Extended attributes are name:value pairs associated with inodes by
86           the kernel or by users (see the attr(5) manual page, or visit
87           <http://acl.bestbits.at/> for details).
88
89           If unsure, say N.
90
91 config REISERFS_FS_POSIX_ACL
92         bool "ReiserFS POSIX Access Control Lists"
93         depends on REISERFS_FS_XATTR
94         select FS_POSIX_ACL
95         help
96           Posix Access Control Lists (ACLs) support permissions for users and
97           groups beyond the owner/group/world scheme.
98
99           To learn more about Access Control Lists, visit the Posix ACLs for
100           Linux website <http://acl.bestbits.at/>.
101
102           If you don't know what Access Control Lists are, say N
103
104 config REISERFS_FS_SECURITY
105         bool "ReiserFS Security Labels"
106         depends on REISERFS_FS_XATTR
107         help
108           Security labels support alternative access control models
109           implemented by security modules like SELinux.  This option
110           enables an extended attribute handler for file security
111           labels in the ReiserFS filesystem.
112
113           If you are not using a security module that requires using
114           extended attributes for file security labels, say N.
115
116 config JFS_FS
117         tristate "JFS filesystem support"
118         select NLS
119         help
120           This is a port of IBM's Journaled Filesystem .  More information is
121           available in the file <file:Documentation/filesystems/jfs.txt>.
122
123           If you do not intend to use the JFS filesystem, say N.
124
125 config JFS_POSIX_ACL
126         bool "JFS POSIX Access Control Lists"
127         depends on JFS_FS
128         select FS_POSIX_ACL
129         help
130           Posix Access Control Lists (ACLs) support permissions for users and
131           groups beyond the owner/group/world scheme.
132
133           To learn more about Access Control Lists, visit the Posix ACLs for
134           Linux website <http://acl.bestbits.at/>.
135
136           If you don't know what Access Control Lists are, say N
137
138 config JFS_SECURITY
139         bool "JFS Security Labels"
140         depends on JFS_FS
141         help
142           Security labels support alternative access control models
143           implemented by security modules like SELinux.  This option
144           enables an extended attribute handler for file security
145           labels in the jfs filesystem.
146
147           If you are not using a security module that requires using
148           extended attributes for file security labels, say N.
149
150 config JFS_DEBUG
151         bool "JFS debugging"
152         depends on JFS_FS
153         help
154           If you are experiencing any problems with the JFS filesystem, say
155           Y here.  This will result in additional debugging messages to be
156           written to the system log.  Under normal circumstances, this
157           results in very little overhead.
158
159 config JFS_STATISTICS
160         bool "JFS statistics"
161         depends on JFS_FS
162         help
163           Enabling this option will cause statistics from the JFS file system
164           to be made available to the user in the /proc/fs/jfs/ directory.
165
166 config FS_POSIX_ACL
167 # Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
168 #
169 # NOTE: you can implement Posix ACLs without these helpers (XFS does).
170 #       Never use this symbol for ifdefs.
171 #
172         bool
173         default n
174
175 config FILE_LOCKING
176         bool "Enable POSIX file locking API" if EMBEDDED
177         default y
178         help
179           This option enables standard file locking support, required
180           for filesystems like NFS and for the flock() system
181           call. Disabling this option saves about 11k.
182
183 source "fs/xfs/Kconfig"
184 source "fs/gfs2/Kconfig"
185
186 config OCFS2_FS
187         tristate "OCFS2 file system support"
188         depends on NET && SYSFS
189         select CONFIGFS_FS
190         select JBD2
191         select CRC32
192         help
193           OCFS2 is a general purpose extent based shared disk cluster file
194           system with many similarities to ext3. It supports 64 bit inode
195           numbers, and has automatically extending metadata groups which may
196           also make it attractive for non-clustered use.
197
198           You'll want to install the ocfs2-tools package in order to at least
199           get "mount.ocfs2".
200
201           Project web page:    http://oss.oracle.com/projects/ocfs2
202           Tools web page:      http://oss.oracle.com/projects/ocfs2-tools
203           OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/
204
205           For more information on OCFS2, see the file
206           <file:Documentation/filesystems/ocfs2.txt>.
207
208 config OCFS2_FS_O2CB
209         tristate "O2CB Kernelspace Clustering"
210         depends on OCFS2_FS
211         default y
212         help
213           OCFS2 includes a simple kernelspace clustering package, the OCFS2
214           Cluster Base.  It only requires a very small userspace component
215           to configure it. This comes with the standard ocfs2-tools package.
216           O2CB is limited to maintaining a cluster for OCFS2 file systems.
217           It cannot manage any other cluster applications.
218
219           It is always safe to say Y here, as the clustering method is
220           run-time selectable.
221
222 config OCFS2_FS_USERSPACE_CLUSTER
223         tristate "OCFS2 Userspace Clustering"
224         depends on OCFS2_FS && DLM
225         default y
226         help
227           This option will allow OCFS2 to use userspace clustering services
228           in conjunction with the DLM in fs/dlm.  If you are using a
229           userspace cluster manager, say Y here.
230
231           It is safe to say Y, as the clustering method is run-time
232           selectable.
233
234 config OCFS2_FS_STATS
235         bool "OCFS2 statistics"
236         depends on OCFS2_FS
237         default y
238         help
239           This option allows some fs statistics to be captured. Enabling
240           this option may increase the memory consumption.
241
242 config OCFS2_DEBUG_MASKLOG
243         bool "OCFS2 logging support"
244         depends on OCFS2_FS
245         default y
246         help
247           The ocfs2 filesystem has an extensive logging system.  The system
248           allows selection of events to log via files in /sys/o2cb/logmask/.
249           This option will enlarge your kernel, but it allows debugging of
250           ocfs2 filesystem issues.
251
252 config OCFS2_DEBUG_FS
253         bool "OCFS2 expensive checks"
254         depends on OCFS2_FS
255         default n
256         help
257           This option will enable expensive consistency checks. Enable
258           this option for debugging only as it is likely to decrease
259           performance of the filesystem.
260
261 config OCFS2_COMPAT_JBD
262         bool "Use JBD for compatibility"
263         depends on OCFS2_FS
264         default n
265         select JBD
266         help
267           The ocfs2 filesystem now uses JBD2 for its journalling.  JBD2
268           is backwards compatible with JBD.  It is safe to say N here.
269           However, if you really want to use the original JBD, say Y here.
270
271 config BTRFS_FS
272         tristate "Btrfs filesystem (EXPERIMENTAL) Unstable disk format"
273         depends on EXPERIMENTAL
274         select LIBCRC32C
275         select ZLIB_INFLATE
276         select ZLIB_DEFLATE
277         help
278           Btrfs is a new filesystem with extents, writable snapshotting,
279           support for multiple devices and many more features.
280
281           Btrfs is highly experimental, and THE DISK FORMAT IS NOT YET
282           FINALIZED.  You should say N here unless you are interested in
283           testing Btrfs with non-critical data.
284
285           To compile this file system support as a module, choose M here. The
286           module will be called btrfs.
287
288           If unsure, say N.
289
290 endif # BLOCK
291
292 config DNOTIFY
293         bool "Dnotify support"
294         default y
295         help
296           Dnotify is a directory-based per-fd file change notification system
297           that uses signals to communicate events to user-space.  There exist
298           superior alternatives, but some applications may still rely on
299           dnotify.
300
301           If unsure, say Y.
302
303 config INOTIFY
304         bool "Inotify file change notification support"
305         default y
306         ---help---
307           Say Y here to enable inotify support.  Inotify is a file change
308           notification system and a replacement for dnotify.  Inotify fixes
309           numerous shortcomings in dnotify and introduces several new features
310           including multiple file events, one-shot support, and unmount
311           notification.
312
313           For more information, see <file:Documentation/filesystems/inotify.txt>
314
315           If unsure, say Y.
316
317 config INOTIFY_USER
318         bool "Inotify support for userspace"
319         depends on INOTIFY
320         default y
321         ---help---
322           Say Y here to enable inotify support for userspace, including the
323           associated system calls.  Inotify allows monitoring of both files and
324           directories via a single open fd.  Events are read from the file
325           descriptor, which is also select()- and poll()-able.
326
327           For more information, see <file:Documentation/filesystems/inotify.txt>
328
329           If unsure, say Y.
330
331 config QUOTA
332         bool "Quota support"
333         help
334           If you say Y here, you will be able to set per user limits for disk
335           usage (also called disk quotas). Currently, it works for the
336           ext2, ext3, and reiserfs file system. ext3 also supports journalled
337           quotas for which you don't need to run quotacheck(8) after an unclean
338           shutdown.
339           For further details, read the Quota mini-HOWTO, available from
340           <http://www.tldp.org/docs.html#howto>, or the documentation provided
341           with the quota tools. Probably the quota support is only useful for
342           multi user systems. If unsure, say N.
343
344 config QUOTA_NETLINK_INTERFACE
345         bool "Report quota messages through netlink interface"
346         depends on QUOTA && NET
347         help
348           If you say Y here, quota warnings (about exceeding softlimit, reaching
349           hardlimit, etc.) will be reported through netlink interface. If unsure,
350           say Y.
351
352 config PRINT_QUOTA_WARNING
353         bool "Print quota warnings to console (OBSOLETE)"
354         depends on QUOTA
355         default y
356         help
357           If you say Y here, quota warnings (about exceeding softlimit, reaching
358           hardlimit, etc.) will be printed to the process' controlling terminal.
359           Note that this behavior is currently deprecated and may go away in
360           future. Please use notification via netlink socket instead.
361
362 config QFMT_V1
363         tristate "Old quota format support"
364         depends on QUOTA
365         help
366           This quota format was (is) used by kernels earlier than 2.4.22. If
367           you have quota working and you don't want to convert to new quota
368           format say Y here.
369
370 config QFMT_V2
371         tristate "Quota format v2 support"
372         depends on QUOTA
373         help
374           This quota format allows using quotas with 32-bit UIDs/GIDs. If you
375           need this functionality say Y here.
376
377 config QUOTACTL
378         bool
379         depends on XFS_QUOTA || QUOTA
380         default y
381
382 config AUTOFS_FS
383         tristate "Kernel automounter support"
384         help
385           The automounter is a tool to automatically mount remote file systems
386           on demand. This implementation is partially kernel-based to reduce
387           overhead in the already-mounted case; this is unlike the BSD
388           automounter (amd), which is a pure user space daemon.
389
390           To use the automounter you need the user-space tools from the autofs
391           package; you can find the location in <file:Documentation/Changes>.
392           You also want to answer Y to "NFS file system support", below.
393
394           If you want to use the newer version of the automounter with more
395           features, say N here and say Y to "Kernel automounter v4 support",
396           below.
397
398           To compile this support as a module, choose M here: the module will be
399           called autofs.
400
401           If you are not a part of a fairly large, distributed network, you
402           probably do not need an automounter, and can say N here.
403
404 config AUTOFS4_FS
405         tristate "Kernel automounter version 4 support (also supports v3)"
406         help
407           The automounter is a tool to automatically mount remote file systems
408           on demand. This implementation is partially kernel-based to reduce
409           overhead in the already-mounted case; this is unlike the BSD
410           automounter (amd), which is a pure user space daemon.
411
412           To use the automounter you need the user-space tools from
413           <ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/>; you also
414           want to answer Y to "NFS file system support", below.
415
416           To compile this support as a module, choose M here: the module will be
417           called autofs4.  You will need to add "alias autofs autofs4" to your
418           modules configuration file.
419
420           If you are not a part of a fairly large, distributed network or
421           don't have a laptop which needs to dynamically reconfigure to the
422           local network, you probably do not need an automounter, and can say
423           N here.
424
425 config FUSE_FS
426         tristate "FUSE (Filesystem in Userspace) support"
427         help
428           With FUSE it is possible to implement a fully functional filesystem
429           in a userspace program.
430
431           There's also companion library: libfuse.  This library along with
432           utilities is available from the FUSE homepage:
433           <http://fuse.sourceforge.net/>
434
435           See <file:Documentation/filesystems/fuse.txt> for more information.
436           See <file:Documentation/Changes> for needed library/utility version.
437
438           If you want to develop a userspace FS, or if you want to use
439           a filesystem based on FUSE, answer Y or M.
440
441 config GENERIC_ACL
442         bool
443         select FS_POSIX_ACL
444
445 if BLOCK
446 menu "CD-ROM/DVD Filesystems"
447
448 config ISO9660_FS
449         tristate "ISO 9660 CDROM file system support"
450         help
451           This is the standard file system used on CD-ROMs.  It was previously
452           known as "High Sierra File System" and is called "hsfs" on other
453           Unix systems.  The so-called Rock-Ridge extensions which allow for
454           long Unix filenames and symbolic links are also supported by this
455           driver.  If you have a CD-ROM drive and want to do more with it than
456           just listen to audio CDs and watch its LEDs, say Y (and read
457           <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO,
458           available from <http://www.tldp.org/docs.html#howto>), thereby
459           enlarging your kernel by about 27 KB; otherwise say N.
460
461           To compile this file system support as a module, choose M here: the
462           module will be called isofs.
463
464 config JOLIET
465         bool "Microsoft Joliet CDROM extensions"
466         depends on ISO9660_FS
467         select NLS
468         help
469           Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system
470           which allows for long filenames in unicode format (unicode is the
471           new 16 bit character code, successor to ASCII, which encodes the
472           characters of almost all languages of the world; see
473           <http://www.unicode.org/> for more information).  Say Y here if you
474           want to be able to read Joliet CD-ROMs under Linux.
475
476 config ZISOFS
477         bool "Transparent decompression extension"
478         depends on ISO9660_FS
479         select ZLIB_INFLATE
480         help
481           This is a Linux-specific extension to RockRidge which lets you store
482           data in compressed form on a CD-ROM and have it transparently
483           decompressed when the CD-ROM is accessed.  See
484           <http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools
485           necessary to create such a filesystem.  Say Y here if you want to be
486           able to read such compressed CD-ROMs.
487
488 config UDF_FS
489         tristate "UDF file system support"
490         select CRC_ITU_T
491         help
492           This is the new file system used on some CD-ROMs and DVDs. Say Y if
493           you intend to mount DVD discs or CDRW's written in packet mode, or
494           if written to by other UDF utilities, such as DirectCD.
495           Please read <file:Documentation/filesystems/udf.txt>.
496
497           To compile this file system support as a module, choose M here: the
498           module will be called udf.
499
500           If unsure, say N.
501
502 config UDF_NLS
503         bool
504         default y
505         depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)
506
507 endmenu
508 endif # BLOCK
509
510 if BLOCK
511 menu "DOS/FAT/NT Filesystems"
512
513 config FAT_FS
514         tristate
515         select NLS
516         help
517           If you want to use one of the FAT-based file systems (the MS-DOS and
518           VFAT (Windows 95) file systems), then you must say Y or M here
519           to include FAT support. You will then be able to mount partitions or
520           diskettes with FAT-based file systems and transparently access the
521           files on them, i.e. MSDOS files will look and behave just like all
522           other Unix files.
523
524           This FAT support is not a file system in itself, it only provides
525           the foundation for the other file systems. You will have to say Y or
526           M to at least one of "MSDOS fs support" or "VFAT fs support" in
527           order to make use of it.
528
529           Another way to read and write MSDOS floppies and hard drive
530           partitions from within Linux (but not transparently) is with the
531           mtools ("man mtools") program suite. You don't need to say Y here in
532           order to do that.
533
534           If you need to move large files on floppies between a DOS and a
535           Linux box, say Y here, mount the floppy under Linux with an MSDOS
536           file system and use GNU tar's M option. GNU tar is a program
537           available for Unix and DOS ("man tar" or "info tar").
538
539           The FAT support will enlarge your kernel by about 37 KB. If unsure,
540           say Y.
541
542           To compile this as a module, choose M here: the module will be called
543           fat.  Note that if you compile the FAT support as a module, you
544           cannot compile any of the FAT-based file systems into the kernel
545           -- they will have to be modules as well.
546
547 config MSDOS_FS
548         tristate "MSDOS fs support"
549         select FAT_FS
550         help
551           This allows you to mount MSDOS partitions of your hard drive (unless
552           they are compressed; to access compressed MSDOS partitions under
553           Linux, you can either use the DOS emulator DOSEMU, described in the
554           DOSEMU-HOWTO, available from
555           <http://www.tldp.org/docs.html#howto>, or try dmsdosfs in
556           <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
557           intend to use dosemu with a non-compressed MSDOS partition, say Y
558           here) and MSDOS floppies. This means that file access becomes
559           transparent, i.e. the MSDOS files look and behave just like all
560           other Unix files.
561
562           If you have Windows 95 or Windows NT installed on your MSDOS
563           partitions, you should use the VFAT file system (say Y to "VFAT fs
564           support" below), or you will not be able to see the long filenames
565           generated by Windows 95 / Windows NT.
566
567           This option will enlarge your kernel by about 7 KB. If unsure,
568           answer Y. This will only work if you said Y to "DOS FAT fs support"
569           as well. To compile this as a module, choose M here: the module will
570           be called msdos.
571
572 config VFAT_FS
573         tristate "VFAT (Windows-95) fs support"
574         select FAT_FS
575         help
576           This option provides support for normal Windows file systems with
577           long filenames.  That includes non-compressed FAT-based file systems
578           used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
579           programs from the mtools package.
580
581           The VFAT support enlarges your kernel by about 10 KB and it only
582           works if you said Y to the "DOS FAT fs support" above.  Please read
583           the file <file:Documentation/filesystems/vfat.txt> for details.  If
584           unsure, say Y.
585
586           To compile this as a module, choose M here: the module will be called
587           vfat.
588
589 config FAT_DEFAULT_CODEPAGE
590         int "Default codepage for FAT"
591         depends on MSDOS_FS || VFAT_FS
592         default 437
593         help
594           This option should be set to the codepage of your FAT filesystems.
595           It can be overridden with the "codepage" mount option.
596           See <file:Documentation/filesystems/vfat.txt> for more information.
597
598 config FAT_DEFAULT_IOCHARSET
599         string "Default iocharset for FAT"
600         depends on VFAT_FS
601         default "iso8859-1"
602         help
603           Set this to the default input/output character set you'd
604           like FAT to use. It should probably match the character set
605           that most of your FAT filesystems use, and can be overridden
606           with the "iocharset" mount option for FAT filesystems.
607           Note that "utf8" is not recommended for FAT filesystems.
608           If unsure, you shouldn't set "utf8" here.
609           See <file:Documentation/filesystems/vfat.txt> for more information.
610
611 config NTFS_FS
612         tristate "NTFS file system support"
613         select NLS
614         help
615           NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
616
617           Saying Y or M here enables read support.  There is partial, but
618           safe, write support available.  For write support you must also
619           say Y to "NTFS write support" below.
620
621           There are also a number of user-space tools available, called
622           ntfsprogs.  These include ntfsundelete and ntfsresize, that work
623           without NTFS support enabled in the kernel.
624
625           This is a rewrite from scratch of Linux NTFS support and replaced
626           the old NTFS code starting with Linux 2.5.11.  A backport to
627           the Linux 2.4 kernel series is separately available as a patch
628           from the project web site.
629
630           For more information see <file:Documentation/filesystems/ntfs.txt>
631           and <http://www.linux-ntfs.org/>.
632
633           To compile this file system support as a module, choose M here: the
634           module will be called ntfs.
635
636           If you are not using Windows NT, 2000, XP or 2003 in addition to
637           Linux on your computer it is safe to say N.
638
639 config NTFS_DEBUG
640         bool "NTFS debugging support"
641         depends on NTFS_FS
642         help
643           If you are experiencing any problems with the NTFS file system, say
644           Y here.  This will result in additional consistency checks to be
645           performed by the driver as well as additional debugging messages to
646           be written to the system log.  Note that debugging messages are
647           disabled by default.  To enable them, supply the option debug_msgs=1
648           at the kernel command line when booting the kernel or as an option
649           to insmod when loading the ntfs module.  Once the driver is active,
650           you can enable debugging messages by doing (as root):
651           echo 1 > /proc/sys/fs/ntfs-debug
652           Replacing the "1" with "0" would disable debug messages.
653
654           If you leave debugging messages disabled, this results in little
655           overhead, but enabling debug messages results in very significant
656           slowdown of the system.
657
658           When reporting bugs, please try to have available a full dump of
659           debugging messages while the misbehaviour was occurring.
660
661 config NTFS_RW
662         bool "NTFS write support"
663         depends on NTFS_FS
664         help
665           This enables the partial, but safe, write support in the NTFS driver.
666
667           The only supported operation is overwriting existing files, without
668           changing the file length.  No file or directory creation, deletion or
669           renaming is possible.  Note only non-resident files can be written to
670           so you may find that some very small files (<500 bytes or so) cannot
671           be written to.
672
673           While we cannot guarantee that it will not damage any data, we have
674           so far not received a single report where the driver would have
675           damaged someones data so we assume it is perfectly safe to use.
676
677           Note:  While write support is safe in this version (a rewrite from
678           scratch of the NTFS support), it should be noted that the old NTFS
679           write support, included in Linux 2.5.10 and before (since 1997),
680           is not safe.
681
682           This is currently useful with TopologiLinux.  TopologiLinux is run
683           on top of any DOS/Microsoft Windows system without partitioning your
684           hard disk.  Unlike other Linux distributions TopologiLinux does not
685           need its own partition.  For more information see
686           <http://topologi-linux.sourceforge.net/>
687
688           It is perfectly safe to say N here.
689
690 endmenu
691 endif # BLOCK
692
693 menu "Pseudo filesystems"
694
695 source "fs/proc/Kconfig"
696
697 config SYSFS
698         bool "sysfs file system support" if EMBEDDED
699         default y
700         help
701         The sysfs filesystem is a virtual filesystem that the kernel uses to
702         export internal kernel objects, their attributes, and their
703         relationships to one another.
704
705         Users can use sysfs to ascertain useful information about the running
706         kernel, such as the devices the kernel has discovered on each bus and
707         which driver each is bound to. sysfs can also be used to tune devices
708         and other kernel subsystems.
709
710         Some system agents rely on the information in sysfs to operate.
711         /sbin/hotplug uses device and object attributes in sysfs to assist in
712         delegating policy decisions, like persistently naming devices.
713
714         sysfs is currently used by the block subsystem to mount the root
715         partition.  If sysfs is disabled you must specify the boot device on
716         the kernel boot command line via its major and minor numbers.  For
717         example, "root=03:01" for /dev/hda1.
718
719         Designers of embedded systems may wish to say N here to conserve space.
720
721 config TMPFS
722         bool "Virtual memory file system support (former shm fs)"
723         help
724           Tmpfs is a file system which keeps all files in virtual memory.
725
726           Everything in tmpfs is temporary in the sense that no files will be
727           created on your hard drive. The files live in memory and swap
728           space. If you unmount a tmpfs instance, everything stored therein is
729           lost.
730
731           See <file:Documentation/filesystems/tmpfs.txt> for details.
732
733 config TMPFS_POSIX_ACL
734         bool "Tmpfs POSIX Access Control Lists"
735         depends on TMPFS
736         select GENERIC_ACL
737         help
738           POSIX Access Control Lists (ACLs) support permissions for users and
739           groups beyond the owner/group/world scheme.
740
741           To learn more about Access Control Lists, visit the POSIX ACLs for
742           Linux website <http://acl.bestbits.at/>.
743
744           If you don't know what Access Control Lists are, say N.
745
746 config HUGETLBFS
747         bool "HugeTLB file system support"
748         depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
749                    (S390 && 64BIT) || BROKEN
750         help
751           hugetlbfs is a filesystem backing for HugeTLB pages, based on
752           ramfs. For architectures that support it, say Y here and read
753           <file:Documentation/vm/hugetlbpage.txt> for details.
754
755           If unsure, say N.
756
757 config HUGETLB_PAGE
758         def_bool HUGETLBFS
759
760 config CONFIGFS_FS
761         tristate "Userspace-driven configuration filesystem"
762         depends on SYSFS
763         help
764           configfs is a ram-based filesystem that provides the converse
765           of sysfs's functionality. Where sysfs is a filesystem-based
766           view of kernel objects, configfs is a filesystem-based manager
767           of kernel objects, or config_items.
768
769           Both sysfs and configfs can and should exist together on the
770           same system. One is not a replacement for the other.
771
772 endmenu
773
774 menu "Miscellaneous filesystems"
775
776 config ADFS_FS
777         tristate "ADFS file system support (EXPERIMENTAL)"
778         depends on BLOCK && EXPERIMENTAL
779         help
780           The Acorn Disc Filing System is the standard file system of the
781           RiscOS operating system which runs on Acorn's ARM-based Risc PC
782           systems and the Acorn Archimedes range of machines. If you say Y
783           here, Linux will be able to read from ADFS partitions on hard drives
784           and from ADFS-formatted floppy discs. If you also want to be able to
785           write to those devices, say Y to "ADFS write support" below.
786
787           The ADFS partition should be the first partition (i.e.,
788           /dev/[hs]d?1) on each of your drives. Please read the file
789           <file:Documentation/filesystems/adfs.txt> for further details.
790
791           To compile this code as a module, choose M here: the module will be
792           called adfs.
793
794           If unsure, say N.
795
796 config ADFS_FS_RW
797         bool "ADFS write support (DANGEROUS)"
798         depends on ADFS_FS
799         help
800           If you say Y here, you will be able to write to ADFS partitions on
801           hard drives and ADFS-formatted floppy disks. This is experimental
802           codes, so if you're unsure, say N.
803
804 config AFFS_FS
805         tristate "Amiga FFS file system support (EXPERIMENTAL)"
806         depends on BLOCK && EXPERIMENTAL
807         help
808           The Fast File System (FFS) is the common file system used on hard
809           disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20).  Say Y
810           if you want to be able to read and write files from and to an Amiga
811           FFS partition on your hard drive.  Amiga floppies however cannot be
812           read with this driver due to an incompatibility of the floppy
813           controller used in an Amiga and the standard floppy controller in
814           PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
815           and <file:fs/affs/Changes>.
816
817           With this driver you can also mount disk files used by Bernd
818           Schmidt's Un*X Amiga Emulator
819           (<http://www.freiburg.linux.de/~uae/>).
820           If you want to do this, you will also need to say Y or M to "Loop
821           device support", above.
822
823           To compile this file system support as a module, choose M here: the
824           module will be called affs.  If unsure, say N.
825
826 config ECRYPT_FS
827         tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
828         depends on EXPERIMENTAL && KEYS && CRYPTO && NET
829         help
830           Encrypted filesystem that operates on the VFS layer.  See
831           <file:Documentation/filesystems/ecryptfs.txt> to learn more about
832           eCryptfs.  Userspace components are required and can be
833           obtained from <http://ecryptfs.sf.net>.
834
835           To compile this file system support as a module, choose M here: the
836           module will be called ecryptfs.
837
838 config HFS_FS
839         tristate "Apple Macintosh file system support (EXPERIMENTAL)"
840         depends on BLOCK && EXPERIMENTAL
841         select NLS
842         help
843           If you say Y here, you will be able to mount Macintosh-formatted
844           floppy disks and hard drive partitions with full read-write access.
845           Please read <file:Documentation/filesystems/hfs.txt> to learn about
846           the available mount options.
847
848           To compile this file system support as a module, choose M here: the
849           module will be called hfs.
850
851 config HFSPLUS_FS
852         tristate "Apple Extended HFS file system support"
853         depends on BLOCK
854         select NLS
855         select NLS_UTF8
856         help
857           If you say Y here, you will be able to mount extended format
858           Macintosh-formatted hard drive partitions with full read-write access.
859
860           This file system is often called HFS+ and was introduced with
861           MacOS 8. It includes all Mac specific filesystem data such as
862           data forks and creator codes, but it also has several UNIX
863           style features such as file ownership and permissions.
864
865 config BEFS_FS
866         tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)"
867         depends on BLOCK && EXPERIMENTAL
868         select NLS
869         help
870           The BeOS File System (BeFS) is the native file system of Be, Inc's
871           BeOS. Notable features include support for arbitrary attributes
872           on files and directories, and database-like indices on selected
873           attributes. (Also note that this driver doesn't make those features
874           available at this time). It is a 64 bit filesystem, so it supports
875           extremely large volumes and files.
876
877           If you use this filesystem, you should also say Y to at least one
878           of the NLS (native language support) options below.
879
880           If you don't know what this is about, say N.
881
882           To compile this as a module, choose M here: the module will be
883           called befs.
884
885 config BEFS_DEBUG
886         bool "Debug BeFS"
887         depends on BEFS_FS
888         help
889           If you say Y here, you can use the 'debug' mount option to enable
890           debugging output from the driver.
891
892 config BFS_FS
893         tristate "BFS file system support (EXPERIMENTAL)"
894         depends on BLOCK && EXPERIMENTAL
895         help
896           Boot File System (BFS) is a file system used under SCO UnixWare to
897           allow the bootloader access to the kernel image and other important
898           files during the boot process.  It is usually mounted under /stand
899           and corresponds to the slice marked as "STAND" in the UnixWare
900           partition.  You should say Y if you want to read or write the files
901           on your /stand slice from within Linux.  You then also need to say Y
902           to "UnixWare slices support", below.  More information about the BFS
903           file system is contained in the file
904           <file:Documentation/filesystems/bfs.txt>.
905
906           If you don't know what this is about, say N.
907
908           To compile this as a module, choose M here: the module will be called
909           bfs.  Note that the file system of your root partition (the one
910           containing the directory /) cannot be compiled as a module.
911
912
913
914 config EFS_FS
915         tristate "EFS file system support (read only) (EXPERIMENTAL)"
916         depends on BLOCK && EXPERIMENTAL
917         help
918           EFS is an older file system used for non-ISO9660 CD-ROMs and hard
919           disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
920           uses the XFS file system for hard disk partitions however).
921
922           This implementation only offers read-only access. If you don't know
923           what all this is about, it's safe to say N. For more information
924           about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.
925
926           To compile the EFS file system support as a module, choose M here: the
927           module will be called efs.
928
929 source "fs/jffs2/Kconfig"
930 # UBIFS File system configuration
931 source "fs/ubifs/Kconfig"
932
933 config CRAMFS
934         tristate "Compressed ROM file system support (cramfs)"
935         depends on BLOCK
936         select ZLIB_INFLATE
937         help
938           Saying Y here includes support for CramFs (Compressed ROM File
939           System).  CramFs is designed to be a simple, small, and compressed
940           file system for ROM based embedded systems.  CramFs is read-only,
941           limited to 256MB file systems (with 16MB files), and doesn't support
942           16/32 bits uid/gid, hard links and timestamps.
943
944           See <file:Documentation/filesystems/cramfs.txt> and
945           <file:fs/cramfs/README> for further information.
946
947           To compile this as a module, choose M here: the module will be called
948           cramfs.  Note that the root file system (the one containing the
949           directory /) cannot be compiled as a module.
950
951           If unsure, say N.
952
953 config VXFS_FS
954         tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
955         depends on BLOCK
956         help
957           FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
958           file system format.  VERITAS VxFS(TM) is the standard file system
959           of SCO UnixWare (and possibly others) and optionally available
960           for Sunsoft Solaris, HP-UX and many other operating systems.
961           Currently only readonly access is supported.
962
963           NOTE: the file system type as used by mount(1), mount(2) and
964           fstab(5) is 'vxfs' as it describes the file system format, not
965           the actual driver.
966
967           To compile this as a module, choose M here: the module will be
968           called freevxfs.  If unsure, say N.
969
970 config MINIX_FS
971         tristate "Minix file system support"
972         depends on BLOCK
973         help
974           Minix is a simple operating system used in many classes about OS's.
975           The minix file system (method to organize files on a hard disk
976           partition or a floppy disk) was the original file system for Linux,
977           but has been superseded by the second extended file system ext2fs.
978           You don't want to use the minix file system on your hard disk
979           because of certain built-in restrictions, but it is sometimes found
980           on older Linux floppy disks.  This option will enlarge your kernel
981           by about 28 KB. If unsure, say N.
982
983           To compile this file system support as a module, choose M here: the
984           module will be called minix.  Note that the file system of your root
985           partition (the one containing the directory /) cannot be compiled as
986           a module.
987
988 config OMFS_FS
989         tristate "SonicBlue Optimized MPEG File System support"
990         depends on BLOCK
991         select CRC_ITU_T
992         help
993           This is the proprietary file system used by the Rio Karma music
994           player and ReplayTV DVR.  Despite the name, this filesystem is not
995           more efficient than a standard FS for MPEG files, in fact likely
996           the opposite is true.  Say Y if you have either of these devices
997           and wish to mount its disk.
998
999           To compile this file system support as a module, choose M here: the
1000           module will be called omfs.  If unsure, say N.
1001
1002 config HPFS_FS
1003         tristate "OS/2 HPFS file system support"
1004         depends on BLOCK
1005         help
1006           OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
1007           is the file system used for organizing files on OS/2 hard disk
1008           partitions. Say Y if you want to be able to read files from and
1009           write files to an OS/2 HPFS partition on your hard drive. OS/2
1010           floppies however are in regular MSDOS format, so you don't need this
1011           option in order to be able to read them. Read
1012           <file:Documentation/filesystems/hpfs.txt>.
1013
1014           To compile this file system support as a module, choose M here: the
1015           module will be called hpfs.  If unsure, say N.
1016
1017
1018 config QNX4FS_FS
1019         tristate "QNX4 file system support (read only)"
1020         depends on BLOCK
1021         help
1022           This is the file system used by the real-time operating systems
1023           QNX 4 and QNX 6 (the latter is also called QNX RTP).
1024           Further information is available at <http://www.qnx.com/>.
1025           Say Y if you intend to mount QNX hard disks or floppies.
1026           Unless you say Y to "QNX4FS read-write support" below, you will
1027           only be able to read these file systems.
1028
1029           To compile this file system support as a module, choose M here: the
1030           module will be called qnx4.
1031
1032           If you don't know whether you need it, then you don't need it:
1033           answer N.
1034
1035 config QNX4FS_RW
1036         bool "QNX4FS write support (DANGEROUS)"
1037         depends on QNX4FS_FS && EXPERIMENTAL && BROKEN
1038         help
1039           Say Y if you want to test write support for QNX4 file systems.
1040
1041           It's currently broken, so for now:
1042           answer N.
1043
1044 config ROMFS_FS
1045         tristate "ROM file system support"
1046         depends on BLOCK
1047         ---help---
1048           This is a very small read-only file system mainly intended for
1049           initial ram disks of installation disks, but it could be used for
1050           other read-only media as well.  Read
1051           <file:Documentation/filesystems/romfs.txt> for details.
1052
1053           To compile this file system support as a module, choose M here: the
1054           module will be called romfs.  Note that the file system of your
1055           root partition (the one containing the directory /) cannot be a
1056           module.
1057
1058           If you don't know whether you need it, then you don't need it:
1059           answer N.
1060
1061
1062 config SYSV_FS
1063         tristate "System V/Xenix/V7/Coherent file system support"
1064         depends on BLOCK
1065         help
1066           SCO, Xenix and Coherent are commercial Unix systems for Intel
1067           machines, and Version 7 was used on the DEC PDP-11. Saying Y
1068           here would allow you to read from their floppies and hard disk
1069           partitions.
1070
1071           If you have floppies or hard disk partitions like that, it is likely
1072           that they contain binaries from those other Unix systems; in order
1073           to run these binaries, you will want to install linux-abi which is
1074           a set of kernel modules that lets you run SCO, Xenix, Wyse,
1075           UnixWare, Dell Unix and System V programs under Linux.  It is
1076           available via FTP (user: ftp) from
1077           <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
1078           NOTE: that will work only for binaries from Intel-based systems;
1079           PDP ones will have to wait until somebody ports Linux to -11 ;-)
1080
1081           If you only intend to mount files from some other Unix over the
1082           network using NFS, you don't need the System V file system support
1083           (but you need NFS file system support obviously).
1084
1085           Note that this option is generally not needed for floppies, since a
1086           good portable way to transport files and directories between unixes
1087           (and even other operating systems) is given by the tar program ("man
1088           tar" or preferably "info tar").  Note also that this option has
1089           nothing whatsoever to do with the option "System V IPC". Read about
1090           the System V file system in
1091           <file:Documentation/filesystems/sysv-fs.txt>.
1092           Saying Y here will enlarge your kernel by about 27 KB.
1093
1094           To compile this as a module, choose M here: the module will be called
1095           sysv.
1096
1097           If you haven't heard about all of this before, it's safe to say N.
1098
1099
1100 config UFS_FS
1101         tristate "UFS file system support (read only)"
1102         depends on BLOCK
1103         help
1104           BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
1105           OpenBSD and NeXTstep) use a file system called UFS. Some System V
1106           Unixes can create and mount hard disk partitions and diskettes using
1107           this file system as well. Saying Y here will allow you to read from
1108           these partitions; if you also want to write to them, say Y to the
1109           experimental "UFS file system write support", below. Please read the
1110           file <file:Documentation/filesystems/ufs.txt> for more information.
1111
1112           The recently released UFS2 variant (used in FreeBSD 5.x) is
1113           READ-ONLY supported.
1114
1115           Note that this option is generally not needed for floppies, since a
1116           good portable way to transport files and directories between unixes
1117           (and even other operating systems) is given by the tar program ("man
1118           tar" or preferably "info tar").
1119
1120           When accessing NeXTstep files, you may need to convert them from the
1121           NeXT character set to the Latin1 character set; use the program
1122           recode ("info recode") for this purpose.
1123
1124           To compile the UFS file system support as a module, choose M here: the
1125           module will be called ufs.
1126
1127           If you haven't heard about all of this before, it's safe to say N.
1128
1129 config UFS_FS_WRITE
1130         bool "UFS file system write support (DANGEROUS)"
1131         depends on UFS_FS && EXPERIMENTAL
1132         help
1133           Say Y here if you want to try writing to UFS partitions. This is
1134           experimental, so you should back up your UFS partitions beforehand.
1135
1136 config UFS_DEBUG
1137         bool "UFS debugging"
1138         depends on UFS_FS
1139         help
1140           If you are experiencing any problems with the UFS filesystem, say
1141           Y here.  This will result in _many_ additional debugging messages to be
1142           written to the system log.
1143
1144 endmenu
1145
1146 menuconfig NETWORK_FILESYSTEMS
1147         bool "Network File Systems"
1148         default y
1149         depends on NET
1150         ---help---
1151           Say Y here to get to see options for network filesystems and
1152           filesystem-related networking code, such as NFS daemon and
1153           RPCSEC security modules.
1154
1155           This option alone does not add any kernel code.
1156
1157           If you say N, all options in this submenu will be skipped and
1158           disabled; if unsure, say Y here.
1159
1160 if NETWORK_FILESYSTEMS
1161
1162 config NFS_FS
1163         tristate "NFS client support"
1164         depends on INET
1165         select LOCKD
1166         select SUNRPC
1167         select NFS_ACL_SUPPORT if NFS_V3_ACL
1168         help
1169           Choose Y here if you want to access files residing on other
1170           computers using Sun's Network File System protocol.  To compile
1171           this file system support as a module, choose M here: the module
1172           will be called nfs.
1173
1174           To mount file systems exported by NFS servers, you also need to
1175           install the user space mount.nfs command which can be found in
1176           the Linux nfs-utils package, available from http://linux-nfs.org/.
1177           Information about using the mount command is available in the
1178           mount(8) man page.  More detail about the Linux NFS client
1179           implementation is available via the nfs(5) man page.
1180
1181           Below you can choose which versions of the NFS protocol are
1182           available in the kernel to mount NFS servers.  Support for NFS
1183           version 2 (RFC 1094) is always available when NFS_FS is selected.
1184
1185           To configure a system which mounts its root file system via NFS
1186           at boot time, say Y here, select "Kernel level IP
1187           autoconfiguration" in the NETWORK menu, and select "Root file
1188           system on NFS" below.  You cannot compile this file system as a
1189           module in this case.
1190
1191           If unsure, say N.
1192
1193 config NFS_V3
1194         bool "NFS client support for NFS version 3"
1195         depends on NFS_FS
1196         help
1197           This option enables support for version 3 of the NFS protocol
1198           (RFC 1813) in the kernel's NFS client.
1199
1200           If unsure, say Y.
1201
1202 config NFS_V3_ACL
1203         bool "NFS client support for the NFSv3 ACL protocol extension"
1204         depends on NFS_V3
1205         help
1206           Some NFS servers support an auxiliary NFSv3 ACL protocol that
1207           Sun added to Solaris but never became an official part of the
1208           NFS version 3 protocol.  This protocol extension allows
1209           applications on NFS clients to manipulate POSIX Access Control
1210           Lists on files residing on NFS servers.  NFS servers enforce
1211           ACLs on local files whether this protocol is available or not.
1212
1213           Choose Y here if your NFS server supports the Solaris NFSv3 ACL
1214           protocol extension and you want your NFS client to allow
1215           applications to access and modify ACLs on files on the server.
1216
1217           Most NFS servers don't support the Solaris NFSv3 ACL protocol
1218           extension.  You can choose N here or specify the "noacl" mount
1219           option to prevent your NFS client from trying to use the NFSv3
1220           ACL protocol.
1221
1222           If unsure, say N.
1223
1224 config NFS_V4
1225         bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
1226         depends on NFS_FS && EXPERIMENTAL
1227         select RPCSEC_GSS_KRB5
1228         help
1229           This option enables support for version 4 of the NFS protocol
1230           (RFC 3530) in the kernel's NFS client.
1231
1232           To mount NFS servers using NFSv4, you also need to install user
1233           space programs which can be found in the Linux nfs-utils package,
1234           available from http://linux-nfs.org/.
1235
1236           If unsure, say N.
1237
1238 config ROOT_NFS
1239         bool "Root file system on NFS"
1240         depends on NFS_FS=y && IP_PNP
1241         help
1242           If you want your system to mount its root file system via NFS,
1243           choose Y here.  This is common practice for managing systems
1244           without local permanent storage.  For details, read
1245           <file:Documentation/filesystems/nfsroot.txt>.
1246
1247           Most people say N here.
1248
1249 config NFSD
1250         tristate "NFS server support"
1251         depends on INET
1252         select LOCKD
1253         select SUNRPC
1254         select EXPORTFS
1255         select NFS_ACL_SUPPORT if NFSD_V2_ACL
1256         help
1257           Choose Y here if you want to allow other computers to access
1258           files residing on this system using Sun's Network File System
1259           protocol.  To compile the NFS server support as a module,
1260           choose M here: the module will be called nfsd.
1261
1262           You may choose to use a user-space NFS server instead, in which
1263           case you can choose N here.
1264
1265           To export local file systems using NFS, you also need to install
1266           user space programs which can be found in the Linux nfs-utils
1267           package, available from http://linux-nfs.org/.  More detail about
1268           the Linux NFS server implementation is available via the
1269           exports(5) man page.
1270
1271           Below you can choose which versions of the NFS protocol are
1272           available to clients mounting the NFS server on this system.
1273           Support for NFS version 2 (RFC 1094) is always available when
1274           CONFIG_NFSD is selected.
1275
1276           If unsure, say N.
1277
1278 config NFSD_V2_ACL
1279         bool
1280         depends on NFSD
1281
1282 config NFSD_V3
1283         bool "NFS server support for NFS version 3"
1284         depends on NFSD
1285         help
1286           This option enables support in your system's NFS server for
1287           version 3 of the NFS protocol (RFC 1813).
1288
1289           If unsure, say Y.
1290
1291 config NFSD_V3_ACL
1292         bool "NFS server support for the NFSv3 ACL protocol extension"
1293         depends on NFSD_V3
1294         select NFSD_V2_ACL
1295         help
1296           Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
1297           never became an official part of the NFS version 3 protocol.
1298           This protocol extension allows applications on NFS clients to
1299           manipulate POSIX Access Control Lists on files residing on NFS
1300           servers.  NFS servers enforce POSIX ACLs on local files whether
1301           this protocol is available or not.
1302
1303           This option enables support in your system's NFS server for the
1304           NFSv3 ACL protocol extension allowing NFS clients to manipulate
1305           POSIX ACLs on files exported by your system's NFS server.  NFS
1306           clients which support the Solaris NFSv3 ACL protocol can then
1307           access and modify ACLs on your NFS server.
1308
1309           To store ACLs on your NFS server, you also need to enable ACL-
1310           related CONFIG options for your local file systems of choice.
1311
1312           If unsure, say N.
1313
1314 config NFSD_V4
1315         bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
1316         depends on NFSD && PROC_FS && EXPERIMENTAL
1317         select NFSD_V3
1318         select FS_POSIX_ACL
1319         select RPCSEC_GSS_KRB5
1320         help
1321           This option enables support in your system's NFS server for
1322           version 4 of the NFS protocol (RFC 3530).
1323
1324           To export files using NFSv4, you need to install additional user
1325           space programs which can be found in the Linux nfs-utils package,
1326           available from http://linux-nfs.org/.
1327
1328           If unsure, say N.
1329
1330 config LOCKD
1331         tristate
1332
1333 config LOCKD_V4
1334         bool
1335         depends on NFSD_V3 || NFS_V3
1336         default y
1337
1338 config EXPORTFS
1339         tristate
1340
1341 config NFS_ACL_SUPPORT
1342         tristate
1343         select FS_POSIX_ACL
1344
1345 config NFS_COMMON
1346         bool
1347         depends on NFSD || NFS_FS
1348         default y
1349
1350 config SUNRPC
1351         tristate
1352
1353 config SUNRPC_GSS
1354         tristate
1355
1356 config SUNRPC_XPRT_RDMA
1357         tristate
1358         depends on SUNRPC && INFINIBAND && EXPERIMENTAL
1359         default SUNRPC && INFINIBAND
1360         help
1361           This option enables an RPC client transport capability that
1362           allows the NFS client to mount servers via an RDMA-enabled
1363           transport.
1364
1365           To compile RPC client RDMA transport support as a module,
1366           choose M here: the module will be called xprtrdma.
1367
1368           If unsure, say N.
1369
1370 config SUNRPC_REGISTER_V4
1371         bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)"
1372         depends on SUNRPC && EXPERIMENTAL
1373         default n
1374         help
1375           Sun added support for registering RPC services at an IPv6
1376           address by creating two new versions of the rpcbind protocol
1377           (RFC 1833).
1378
1379           This option enables support in the kernel RPC server for
1380           registering kernel RPC services via version 4 of the rpcbind
1381           protocol.  If you enable this option, you must run a portmapper
1382           daemon that supports rpcbind protocol version 4.
1383
1384           Serving NFS over IPv6 from knfsd (the kernel's NFS server)
1385           requires that you enable this option and use a portmapper that
1386           supports rpcbind version 4.
1387
1388           If unsure, say N to get traditional behavior (register kernel
1389           RPC services using only rpcbind version 2).  Distributions
1390           using the legacy Linux portmapper daemon must say N here.
1391
1392 config RPCSEC_GSS_KRB5
1393         tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
1394         depends on SUNRPC && EXPERIMENTAL
1395         select SUNRPC_GSS
1396         select CRYPTO
1397         select CRYPTO_MD5
1398         select CRYPTO_DES
1399         select CRYPTO_CBC
1400         help
1401           Choose Y here to enable Secure RPC using the Kerberos version 5
1402           GSS-API mechanism (RFC 1964).
1403
1404           Secure RPC calls with Kerberos require an auxiliary user-space
1405           daemon which may be found in the Linux nfs-utils package
1406           available from http://linux-nfs.org/.  In addition, user-space
1407           Kerberos support should be installed.
1408
1409           If unsure, say N.
1410
1411 config RPCSEC_GSS_SPKM3
1412         tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
1413         depends on SUNRPC && EXPERIMENTAL
1414         select SUNRPC_GSS
1415         select CRYPTO
1416         select CRYPTO_MD5
1417         select CRYPTO_DES
1418         select CRYPTO_CAST5
1419         select CRYPTO_CBC
1420         help
1421           Choose Y here to enable Secure RPC using the SPKM3 public key
1422           GSS-API mechansim (RFC 2025).
1423
1424           Secure RPC calls with SPKM3 require an auxiliary userspace
1425           daemon which may be found in the Linux nfs-utils package
1426           available from http://linux-nfs.org/.
1427
1428           If unsure, say N.
1429
1430 config SMB_FS
1431         tristate "SMB file system support (OBSOLETE, please use CIFS)"
1432         depends on INET
1433         select NLS
1434         help
1435           SMB (Server Message Block) is the protocol Windows for Workgroups
1436           (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
1437           files and printers over local networks.  Saying Y here allows you to
1438           mount their file systems (often called "shares" in this context) and
1439           access them just like any other Unix directory.  Currently, this
1440           works only if the Windows machines use TCP/IP as the underlying
1441           transport protocol, and not NetBEUI.  For details, read
1442           <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
1443           available from <http://www.tldp.org/docs.html#howto>.
1444
1445           Note: if you just want your box to act as an SMB *server* and make
1446           files and printing services available to Windows clients (which need
1447           to have a TCP/IP stack), you don't need to say Y here; you can use
1448           the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
1449           for that.
1450
1451           General information about how to connect Linux, Windows machines and
1452           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
1453
1454           To compile the SMB support as a module, choose M here:
1455           the module will be called smbfs.  Most people say N, however.
1456
1457 config SMB_NLS_DEFAULT
1458         bool "Use a default NLS"
1459         depends on SMB_FS
1460         help
1461           Enabling this will make smbfs use nls translations by default. You
1462           need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
1463           settings and you need to give the default nls for the SMB server as
1464           CONFIG_SMB_NLS_REMOTE.
1465
1466           The nls settings can be changed at mount time, if your smbmount
1467           supports that, using the codepage and iocharset parameters.
1468
1469           smbmount from samba 2.2.0 or later supports this.
1470
1471 config SMB_NLS_REMOTE
1472         string "Default Remote NLS Option"
1473         depends on SMB_NLS_DEFAULT
1474         default "cp437"
1475         help
1476           This setting allows you to specify a default value for which
1477           codepage the server uses. If this field is left blank no
1478           translations will be done by default. The local codepage/charset
1479           default to CONFIG_NLS_DEFAULT.
1480
1481           The nls settings can be changed at mount time, if your smbmount
1482           supports that, using the codepage and iocharset parameters.
1483
1484           smbmount from samba 2.2.0 or later supports this.
1485
1486 source "fs/cifs/Kconfig"
1487
1488 config NCP_FS
1489         tristate "NCP file system support (to mount NetWare volumes)"
1490         depends on IPX!=n || INET
1491         help
1492           NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
1493           used by Novell NetWare clients to talk to file servers.  It is to
1494           IPX what NFS is to TCP/IP, if that helps.  Saying Y here allows you
1495           to mount NetWare file server volumes and to access them just like
1496           any other Unix directory.  For details, please read the file
1497           <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
1498           the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.
1499
1500           You do not have to say Y here if you want your Linux box to act as a
1501           file *server* for Novell NetWare clients.
1502
1503           General information about how to connect Linux, Windows machines and
1504           Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
1505
1506           To compile this as a module, choose M here: the module will be called
1507           ncpfs.  Say N unless you are connected to a Novell network.
1508
1509 source "fs/ncpfs/Kconfig"
1510
1511 config CODA_FS
1512         tristate "Coda file system support (advanced network fs)"
1513         depends on INET
1514         help
1515           Coda is an advanced network file system, similar to NFS in that it
1516           enables you to mount file systems of a remote server and access them
1517           with regular Unix commands as if they were sitting on your hard
1518           disk.  Coda has several advantages over NFS: support for
1519           disconnected operation (e.g. for laptops), read/write server
1520           replication, security model for authentication and encryption,
1521           persistent client caches and write back caching.
1522
1523           If you say Y here, your Linux box will be able to act as a Coda
1524           *client*.  You will need user level code as well, both for the
1525           client and server.  Servers are currently user level, i.e. they need
1526           no kernel support.  Please read
1527           <file:Documentation/filesystems/coda.txt> and check out the Coda
1528           home page <http://www.coda.cs.cmu.edu/>.
1529
1530           To compile the coda client support as a module, choose M here: the
1531           module will be called coda.
1532
1533 config AFS_FS
1534         tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
1535         depends on INET && EXPERIMENTAL
1536         select AF_RXRPC
1537         help
1538           If you say Y here, you will get an experimental Andrew File System
1539           driver. It currently only supports unsecured read-only AFS access.
1540
1541           See <file:Documentation/filesystems/afs.txt> for more information.
1542
1543           If unsure, say N.
1544
1545 config AFS_DEBUG
1546         bool "AFS dynamic debugging"
1547         depends on AFS_FS
1548         help
1549           Say Y here to make runtime controllable debugging messages appear.
1550
1551           See <file:Documentation/filesystems/afs.txt> for more information.
1552
1553           If unsure, say N.
1554
1555 config 9P_FS
1556         tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
1557         depends on INET && NET_9P && EXPERIMENTAL
1558         help
1559           If you say Y here, you will get experimental support for
1560           Plan 9 resource sharing via the 9P2000 protocol.
1561
1562           See <http://v9fs.sf.net> for more information.
1563
1564           If unsure, say N.
1565
1566 endif # NETWORK_FILESYSTEMS
1567
1568 if BLOCK
1569 menu "Partition Types"
1570
1571 source "fs/partitions/Kconfig"
1572
1573 endmenu
1574 endif
1575
1576 source "fs/nls/Kconfig"
1577 source "fs/dlm/Kconfig"
1578
1579 endmenu