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