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