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