aboutsummaryrefslogtreecommitdiffstats
path: root/fs/Kconfig
blob: 9acf3a2d2313a89189078e9a617969431266c76b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
#
# File system configuration
#

menu "File systems"

if BLOCK

source "fs/ext2/Kconfig"
source "fs/ext3/Kconfig"
source "fs/ext4/Kconfig"

config FS_XIP
# execute in place
	bool
	depends on EXT2_FS_XIP
	default y

source "fs/jbd/Kconfig"
source "fs/jbd2/Kconfig"

config FS_MBCACHE
# Meta block cache for Extended Attributes (ext2/ext3/ext4)
	tristate
	default y if EXT2_FS=y && EXT2_FS_XATTR
	default y if EXT3_FS=y && EXT3_FS_XATTR
	default y if EXT4_FS=y && EXT4_FS_XATTR
	default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR

source "fs/reiserfs/Kconfig"
source "fs/jfs/Kconfig"

config FS_POSIX_ACL
# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
#
# NOTE: you can implement Posix ACLs without these helpers (XFS does).
# 	Never use this symbol for ifdefs.
#
	bool
	default n

config FILE_LOCKING
	bool "Enable POSIX file locking API" if EMBEDDED
	default y
	help
	  This option enables standard file locking support, required
          for filesystems like NFS and for the flock() system
          call. Disabling this option saves about 11k.

source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"
source "fs/ocfs2/Kconfig"
source "fs/btrfs/Kconfig"

endif # BLOCK

source "fs/notify/Kconfig"

config QUOTA
	bool "Quota support"
	help
	  If you say Y here, you will be able to set per user limits for disk
	  usage (also called disk quotas). Currently, it works for the
	  ext2, ext3, and reiserfs file system. ext3 also supports journalled
	  quotas for which you don't need to run quotacheck(8) after an unclean
	  shutdown.
	  For further details, read the Quota mini-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>, or the documentation provided
	  with the quota tools. Probably the quota support is only useful for
	  multi user systems. If unsure, say N.

config QUOTA_NETLINK_INTERFACE
	bool "Report quota messages through netlink interface"
	depends on QUOTA && NET
	help
	  If you say Y here, quota warnings (about exceeding softlimit, reaching
	  hardlimit, etc.) will be reported through netlink interface. If unsure,
	  say Y.

config PRINT_QUOTA_WARNING
	bool "Print quota warnings to console (OBSOLETE)"
	depends on QUOTA
	default y
	help
	  If you say Y here, quota warnings (about exceeding softlimit, reaching
	  hardlimit, etc.) will be printed to the process' controlling terminal.
	  Note that this behavior is currently deprecated and may go away in
	  future. Please use notification via netlink socket instead.

# Generic support for tree structured quota files. Seleted when needed.
config QUOTA_TREE
	 tristate

config QFMT_V1
	tristate "Old quota format support"
	depends on QUOTA
	help
	  This quota format was (is) used by kernels earlier than 2.4.22. If
	  you have quota working and you don't want to convert to new quota
	  format say Y here.

config QFMT_V2
	tristate "Quota format v2 support"
	depends on QUOTA
	select QUOTA_TREE
	help
	  This quota format allows using quotas with 32-bit UIDs/GIDs. If you
	  need this functionality say Y here.

config QUOTACTL
	bool
	depends on XFS_QUOTA || QUOTA
	default y

source "fs/autofs/Kconfig"
source "fs/autofs4/Kconfig"
source "fs/fuse/Kconfig"

config GENERIC_ACL
	bool
	select FS_POSIX_ACL

if BLOCK
menu "CD-ROM/DVD Filesystems"

source "fs/isofs/Kconfig"
source "fs/udf/Kconfig"

endmenu
endif # BLOCK

if BLOCK
menu "DOS/FAT/NT Filesystems"

source "fs/fat/Kconfig"
source "fs/ntfs/Kconfig"

endmenu
endif # BLOCK

menu "Pseudo filesystems"

source "fs/proc/Kconfig"
source "fs/sysfs/Kconfig"

config TMPFS
	bool "Virtual memory file system support (former shm fs)"
	help
	  Tmpfs is a file system which keeps all files in virtual memory.

	  Everything in tmpfs is temporary in the sense that no files will be
	  created on your hard drive. The files live in memory and swap
	  space. If you unmount a tmpfs instance, everything stored therein is
	  lost.

	  See <file:Documentation/filesystems/tmpfs.txt> for details.

config TMPFS_POSIX_ACL
	bool "Tmpfs POSIX Access Control Lists"
	depends on TMPFS
	select GENERIC_ACL
	help
	  POSIX Access Control Lists (ACLs) support permissions for users and
	  groups beyond the owner/group/world scheme.

	  To learn more about Access Control Lists, visit the POSIX ACLs for
	  Linux website <http://acl.bestbits.at/>.

	  If you don't know what Access Control Lists are, say N.

config HUGETLBFS
	bool "HugeTLB file system support"
	depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
		   (S390 && 64BIT) || BROKEN
	help
	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
	  ramfs. For architectures that support it, say Y here and read
	  <file:Documentation/vm/hugetlbpage.txt> for details.

	  If unsure, say N.

config HUGETLB_PAGE
	def_bool HUGETLBFS

source "fs/configfs/Kconfig"

endmenu

menuconfig MISC_FILESYSTEMS
	bool "Miscellaneous filesystems"
	default y
	---help---
	  Say Y here to get to see options for various miscellaneous
	  filesystems, such as filesystems that came from other
	  operating systems.

	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and
	  disabled; if unsure, say Y here.

if MISC_FILESYSTEMS

source "fs/adfs/Kconfig"
source "fs/affs/Kconfig"
source "fs/ecryptfs/Kconfig"
source "fs/hfs/Kconfig"
source "fs/hfsplus/Kconfig"
source "fs/befs/Kconfig"
source "fs/bfs/Kconfig"

config EFS_FS
	tristate "EFS file system support (read only) (EXPERIMENTAL)"
	depends on BLOCK && EXPERIMENTAL
	help
	  EFS is an older file system used for non-ISO9660 CD-ROMs and hard
	  disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
	  uses the XFS file system for hard disk partitions however).

	  This implementation only offers read-only access. If you don't know
	  what all this is about, it's safe to say N. For more information
	  about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.

	  To compile the EFS file system support as a module, choose M here: the
	  module will be called efs.

source "fs/jffs2/Kconfig"
# UBIFS File system configuration
source "fs/ubifs/Kconfig"

config CRAMFS
	tristate "Compressed ROM file system support (cramfs)"
	depends on BLOCK
	select ZLIB_INFLATE
	help
	  Saying Y here includes support for CramFs (Compressed ROM File
	  System).  CramFs is designed to be a simple, small, and compressed
	  file system for ROM based embedded systems.  CramFs is read-only,
	  limited to 256MB file systems (with 16MB files), and doesn't support
	  16/32 bits uid/gid, hard links and timestamps.

	  See <file:Documentation/filesystems/cramfs.txt> and
	  <file:fs/cramfs/README> for further information.

	  To compile this as a module, choose M here: the module will be called
	  cramfs.  Note that the root file system (the one containing the
	  directory /) cannot be compiled as a module.

	  If unsure, say N.

config SQUASHFS
	tristate "SquashFS 4.0 - Squashed file system support"
	depends on BLOCK
	select ZLIB_INFLATE
	help
	  Saying Y here includes support for SquashFS 4.0 (a Compressed
	  Read-Only File System).  Squashfs is a highly compressed read-only
	  filesystem for Linux.  It uses zlib compression to compress both
	  files, inodes and directories.  Inodes in the system are very small
	  and all blocks are packed to minimise data overhead. Block sizes
	  greater than 4K are supported up to a maximum of 1 Mbytes (default
	  block size 128K).  SquashFS 4.0 supports 64 bit filesystems and files
	  (larger than 4GB), full uid/gid information, hard links and
	  timestamps.  

	  Squashfs is intended for general read-only filesystem use, for
	  archival use (i.e. in cases where a .tar.gz file may be used), and in
	  embedded systems where low overhead is needed.  Further information
	  and tools are available from http://squashfs.sourceforge.net.

	  If you want to compile this as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>.  The module
	  will be called squashfs.  Note that the root file system (the one
	  containing the directory /) cannot be compiled as a module.

	  If unsure, say N.

config SQUASHFS_EMBEDDED

	bool "Additional option for memory-constrained systems" 
	depends on SQUASHFS
	default n
	help
	  Saying Y here allows you to specify cache size.

	  If unsure, say N.

config SQUASHFS_FRAGMENT_CACHE_SIZE
	int "Number of fragments cached" if SQUASHFS_EMBEDDED
	depends on SQUASHFS
	default "3"
	help
	  By default SquashFS caches the last 3 fragments read from
	  the filesystem.  Increasing this amount may mean SquashFS
	  has to re-read fragments less often from disk, at the expense
	  of extra system memory.  Decreasing this amount will mean
	  SquashFS uses less memory at the expense of extra reads from disk.

	  Note there must be at least one cached fragment.  Anything
	  much more than three will probably not make much difference.

config VXFS_FS
	tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
	depends on BLOCK
	help
	  FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
	  file system format.  VERITAS VxFS(TM) is the standard file system
	  of SCO UnixWare (and possibly others) and optionally available
	  for Sunsoft Solaris, HP-UX and many other operating systems.
	  Currently only readonly access is supported.

	  NOTE: the file system type as used by mount(1), mount(2) and
	  fstab(5) is 'vxfs' as it describes the file system format, not
	  the actual driver.

	  To compile this as a module, choose M here: the module will be
	  called freevxfs.  If unsure, say N.

config MINIX_FS
	tristate "Minix file system support"
	depends on BLOCK
	help
	  Minix is a simple operating system used in many classes about OS's.
	  The minix file system (method to organize files on a hard disk
	  partition or a floppy disk) was the original file system for Linux,
	  but has been superseded by the second extended file system ext2fs.
	  You don't want to use the minix file system on your hard disk
	  because of certain built-in restrictions, but it is sometimes found
	  on older Linux floppy disks.  This option will enlarge your kernel
	  by about 28 KB. If unsure, say N.

	  To compile this file system support as a module, choose M here: the
	  module will be called minix.  Note that the file system of your root
	  partition (the one containing the directory /) cannot be compiled as
	  a module.

config OMFS_FS
	tristate "SonicBlue Optimized MPEG File System support"
	depends on BLOCK
	select CRC_ITU_T
	help
	  This is the proprietary file system used by the Rio Karma music
	  player and ReplayTV DVR.  Despite the name, this filesystem is not
	  more efficient than a standard FS for MPEG files, in fact likely
	  the opposite is true.  Say Y if you have either of these devices
	  and wish to mount its disk.

	  To compile this file system support as a module, choose M here: the
	  module will be called omfs.  If unsure, say N.

config HPFS_FS
	tristate "OS/2 HPFS file system support"
	depends on BLOCK
	help
	  OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
	  is the file system used for organizing files on OS/2 hard disk
	  partitions. Say Y if you want to be able to read files from and
	  write files to an OS/2 HPFS partition on your hard drive. OS/2
	  floppies however are in regular MSDOS format, so you don't need this
	  option in order to be able to read them. Read
	  <file:Documentation/filesystems/hpfs.txt>.

	  To compile this file system support as a module, choose M here: the
	  module will be called hpfs.  If unsure, say N.


config QNX4FS_FS
	tristate "QNX4 file system support (read only)"
	depends on BLOCK
	help
	  This is the file system used by the real-time operating systems
	  QNX 4 and QNX 6 (the latter is also called QNX RTP).
	  Further information is available at <http://www.qnx.com/>.
	  Say Y if you intend to mount QNX hard disks or floppies.
	  Unless you say Y to "QNX4FS read-write support" below, you will
	  only be able to read these file systems.

	  To compile this file system support as a module, choose M here: the
	  module will be called qnx4.

	  If you don't know whether you need it, then you don't need it:
	  answer N.

config QNX4FS_RW
	bool "QNX4FS write support (DANGEROUS)"
	depends on QNX4FS_FS && EXPERIMENTAL && BROKEN
	help
	  Say Y if you want to test write support for QNX4 file systems.

	  It's currently broken, so for now:
	  answer N.

config ROMFS_FS
	tristate "ROM file system support"
	depends on BLOCK
	---help---
	  This is a very small read-only file system mainly intended for
	  initial ram disks of installation disks, but it could be used for
	  other read-only media as well.  Read
	  <file:Documentation/filesystems/romfs.txt> for details.

	  To compile this file system support as a module, choose M here: the
	  module will be called romfs.  Note that the file system of your
	  root partition (the one containing the directory /) cannot be a
	  module.

	  If you don't know whether you need it, then you don't need it:
	  answer N.


config SYSV_FS
	tristate "System V/Xenix/V7/Coherent file system support"
	depends on BLOCK
	help
	  SCO, Xenix and Coherent are commercial Unix systems for Intel
	  machines, and Version 7 was used on the DEC PDP-11. Saying Y
	  here would allow you to read from their floppies and hard disk
	  partitions.

	  If you have floppies or hard disk partitions like that, it is likely
	  that they contain binaries from those other Unix systems; in order
	  to run these binaries, you will want to install linux-abi which is
	  a set of kernel modules that lets you run SCO, Xenix, Wyse,
	  UnixWare, Dell Unix and System V programs under Linux.  It is
	  available via FTP (user: ftp) from
	  <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
	  NOTE: that will work only for binaries from Intel-based systems;
	  PDP ones will have to wait until somebody ports Linux to -11 ;-)

	  If you only intend to mount files from some other Unix over the
	  network using NFS, you don't need the System V file system support
	  (but you need NFS file system support obviously).

	  Note that this option is generally not needed for floppies, since a
	  good portable way to transport files and directories between unixes
	  (and even other operating systems) is given by the tar program ("man
	  tar" or preferably "info tar").  Note also that this option has
	  nothing whatsoever to do with the option "System V IPC". Read about
	  the System V file system in
	  <file:Documentation/filesystems/sysv-fs.txt>.
	  Saying Y here will enlarge your kernel by about 27 KB.

	  To compile this as a module, choose M here: the module will be called
	  sysv.

	  If you haven't heard about all of this before, it's safe to say N.


config UFS_FS
	tristate "UFS file system support (read only)"
	depends on BLOCK
	help
	  BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
	  OpenBSD and NeXTstep) use a file system called UFS. Some System V
	  Unixes can create and mount hard disk partitions and diskettes using
	  this file system as well. Saying Y here will allow you to read from
	  these partitions; if you also want to write to them, say Y to the
	  experimental "UFS file system write support", below. Please read the
	  file <file:Documentation/filesystems/ufs.txt> for more information.

          The recently released UFS2 variant (used in FreeBSD 5.x) is
          READ-ONLY supported.

	  Note that this option is generally not needed for floppies, since a
	  good portable way to transport files and directories between unixes
	  (and even other operating systems) is given by the tar program ("man
	  tar" or preferably "info tar").

	  When accessing NeXTstep files, you may need to convert them from the
	  NeXT character set to the Latin1 character set; use the program
	  recode ("info recode") for this purpose.

	  To compile the UFS file system support as a module, choose M here: the
	  module will be called ufs.

	  If you haven't heard about all of this before, it's safe to say N.

config UFS_FS_WRITE
	bool "UFS file system write support (DANGEROUS)"
	depends on UFS_FS && EXPERIMENTAL
	help
	  Say Y here if you want to try writing to UFS partitions. This is
	  experimental, so you should back up your UFS partitions beforehand.

config UFS_DEBUG
	bool "UFS debugging"
	depends on UFS_FS
	help
	  If you are experiencing any problems with the UFS filesystem, say
	  Y here.  This will result in _many_ additional debugging messages to be
	  written to the system log.

endif # MISC_FILESYSTEMS

menuconfig NETWORK_FILESYSTEMS
	bool "Network File Systems"
	default y
	depends on NET
	---help---
	  Say Y here to get to see options for network filesystems and
	  filesystem-related networking code, such as NFS daemon and
	  RPCSEC security modules.

	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and
	  disabled; if unsure, say Y here.

if NETWORK_FILESYSTEMS

config NFS_FS
	tristate "NFS client support"
	depends on INET
	select LOCKD
	select SUNRPC
	select NFS_ACL_SUPPORT if NFS_V3_ACL
	help
	  Choose Y here if you want to access files residing on other
	  computers using Sun's Network File System protocol.  To compile
	  this file system support as a module, choose M here: the module
	  will be called nfs.

	  To mount file systems exported by NFS servers, you also need to
	  install the user space mount.nfs command which can be found in
	  the Linux nfs-utils package, available from http://linux-nfs.org/.
	  Information about using the mount command is available in the
	  mount(8) man page.  More detail about the Linux NFS client
	  implementation is available via the nfs(5) man page.

	  Below you can choose which versions of the NFS protocol are
	  available in the kernel to mount NFS servers.  Support for NFS
	  version 2 (RFC 1094) is always available when NFS_FS is selected.

	  To configure a system which mounts its root file system via NFS
	  at boot time, say Y here, select "Kernel level IP
	  autoconfiguration" in the NETWORK menu, and select "Root file
	  system on NFS" below.  You cannot compile this file system as a
	  module in this case.

	  If unsure, say N.

config NFS_V3
	bool "NFS client support for NFS version 3"
	depends on NFS_FS
	help
	  This option enables support for version 3 of the NFS protocol
	  (RFC 1813) in the kernel's NFS client.

	  If unsure, say Y.

config NFS_V3_ACL
	bool "NFS client support for the NFSv3 ACL protocol extension"
	depends on NFS_V3
	help
	  Some NFS servers support an auxiliary NFSv3 ACL protocol that
	  Sun added to Solaris but never became an official part of the
	  NFS version 3 protocol.  This protocol extension allows
	  applications on NFS clients to manipulate POSIX Access Control
	  Lists on files residing on NFS servers.  NFS servers enforce
	  ACLs on local files whether this protocol is available or not.

	  Choose Y here if your NFS server supports the Solaris NFSv3 ACL
	  protocol extension and you want your NFS client to allow
	  applications to access and modify ACLs on files on the server.

	  Most NFS servers don't support the Solaris NFSv3 ACL protocol
	  extension.  You can choose N here or specify the "noacl" mount
	  option to prevent your NFS client from trying to use the NFSv3
	  ACL protocol.

	  If unsure, say N.

config NFS_V4
	bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
	depends on NFS_FS && EXPERIMENTAL
	select RPCSEC_GSS_KRB5
	help
	  This option enables support for version 4 of the NFS protocol
	  (RFC 3530) in the kernel's NFS client.

	  To mount NFS servers using NFSv4, you also need to install user
	  space programs which can be found in the Linux nfs-utils package,
	  available from http://linux-nfs.org/.

	  If unsure, say N.

config ROOT_NFS
	bool "Root file system on NFS"
	depends on NFS_FS=y && IP_PNP
	help
	  If you want your system to mount its root file system via NFS,
	  choose Y here.  This is common practice for managing systems
	  without local permanent storage.  For details, read
	  <file:Documentation/filesystems/nfsroot.txt>.

	  Most people say N here.

config NFSD
	tristate "NFS server support"
	depends on INET
	select LOCKD
	select SUNRPC
	select EXPORTFS
	select NFS_ACL_SUPPORT if NFSD_V2_ACL
	help
	  Choose Y here if you want to allow other computers to access
	  files residing on this system using Sun's Network File System
	  protocol.  To compile the NFS server support as a module,
	  choose M here: the module will be called nfsd.

	  You may choose to use a user-space NFS server instead, in which
	  case you can choose N here.

	  To export local file systems using NFS, you also need to install
	  user space programs which can be found in the Linux nfs-utils
	  package, available from http://linux-nfs.org/.  More detail about
	  the Linux NFS server implementation is available via the
	  exports(5) man page.

	  Below you can choose which versions of the NFS protocol are
	  available to clients mounting the NFS server on this system.
	  Support for NFS version 2 (RFC 1094) is always available when
	  CONFIG_NFSD is selected.

	  If unsure, say N.

config NFSD_V2_ACL
	bool
	depends on NFSD

config NFSD_V3
	bool "NFS server support for NFS version 3"
	depends on NFSD
	help
	  This option enables support in your system's NFS server for
	  version 3 of the NFS protocol (RFC 1813).

	  If unsure, say Y.

config NFSD_V3_ACL
	bool "NFS server support for the NFSv3 ACL protocol extension"
	depends on NFSD_V3
	select NFSD_V2_ACL
	help
	  Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
	  never became an official part of the NFS version 3 protocol.
	  This protocol extension allows applications on NFS clients to
	  manipulate POSIX Access Control Lists on files residing on NFS
	  servers.  NFS servers enforce POSIX ACLs on local files whether
	  this protocol is available or not.

	  This option enables support in your system's NFS server for the
	  NFSv3 ACL protocol extension allowing NFS clients to manipulate
	  POSIX ACLs on files exported by your system's NFS server.  NFS
	  clients which support the Solaris NFSv3 ACL protocol can then
	  access and modify ACLs on your NFS server.

	  To store ACLs on your NFS server, you also need to enable ACL-
	  related CONFIG options for your local file systems of choice.

	  If unsure, say N.

config NFSD_V4
	bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
	depends on NFSD && PROC_FS && EXPERIMENTAL
	select NFSD_V3
	select FS_POSIX_ACL
	select RPCSEC_GSS_KRB5
	help
	  This option enables support in your system's NFS server for
	  version 4 of the NFS protocol (RFC 3530).

	  To export files using NFSv4, you need to install additional user
	  space programs which can be found in the Linux nfs-utils package,
	  available from http://linux-nfs.org/.

	  If unsure, say N.

config LOCKD
	tristate

config LOCKD_V4
	bool
	depends on NFSD_V3 || NFS_V3
	default y

config EXPORTFS
	tristate

config NFS_ACL_SUPPORT
	tristate
	select FS_POSIX_ACL

config NFS_COMMON
	bool
	depends on NFSD || NFS_FS
	default y

config SUNRPC
	tristate

config SUNRPC_GSS
	tristate

config SUNRPC_XPRT_RDMA
	tristate
	depends on SUNRPC && INFINIBAND && EXPERIMENTAL
	default SUNRPC && INFINIBAND
	help
	  This option enables an RPC client transport capability that
	  allows the NFS client to mount servers via an RDMA-enabled
	  transport.

	  To compile RPC client RDMA transport support as a module,
	  choose M here: the module will be called xprtrdma.

	  If unsure, say N.

config SUNRPC_REGISTER_V4
	bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)"
	depends on SUNRPC && EXPERIMENTAL
	default n
	help
	  Sun added support for registering RPC services at an IPv6
	  address by creating two new versions of the rpcbind protocol
	  (RFC 1833).

	  This option enables support in the kernel RPC server for
	  registering kernel RPC services via version 4 of the rpcbind
	  protocol.  If you enable this option, you must run a portmapper
	  daemon that supports rpcbind protocol version 4.

	  Serving NFS over IPv6 from knfsd (the kernel's NFS server)
	  requires that you enable this option and use a portmapper that
	  supports rpcbind version 4.

	  If unsure, say N to get traditional behavior (register kernel
	  RPC services using only rpcbind version 2).  Distributions
	  using the legacy Linux portmapper daemon must say N here.

config RPCSEC_GSS_KRB5
	tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
	depends on SUNRPC && EXPERIMENTAL
	select SUNRPC_GSS
	select CRYPTO
	select CRYPTO_MD5
	select CRYPTO_DES
	select CRYPTO_CBC
	help
	  Choose Y here to enable Secure RPC using the Kerberos version 5
	  GSS-API mechanism (RFC 1964).

	  Secure RPC calls with Kerberos require an auxiliary user-space
	  daemon which may be found in the Linux nfs-utils package
	  available from http://linux-nfs.org/.  In addition, user-space
	  Kerberos support should be installed.

	  If unsure, say N.

config RPCSEC_GSS_SPKM3
	tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
	depends on SUNRPC && EXPERIMENTAL
	select SUNRPC_GSS
	select CRYPTO
	select CRYPTO_MD5
	select CRYPTO_DES
	select CRYPTO_CAST5
	select CRYPTO_CBC
	help
	  Choose Y here to enable Secure RPC using the SPKM3 public key
	  GSS-API mechansim (RFC 2025).

	  Secure RPC calls with SPKM3 require an auxiliary userspace
	  daemon which may be found in the Linux nfs-utils package
	  available from http://linux-nfs.org/.

	  If unsure, say N.

config SMB_FS
	tristate "SMB file system support (OBSOLETE, please use CIFS)"
	depends on INET
	select NLS
	help
	  SMB (Server Message Block) is the protocol Windows for Workgroups
	  (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
	  files and printers over local networks.  Saying Y here allows you to
	  mount their file systems (often called "shares" in this context) and
	  access them just like any other Unix directory.  Currently, this
	  works only if the Windows machines use TCP/IP as the underlying
	  transport protocol, and not NetBEUI.  For details, read
	  <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
	  available from <http://www.tldp.org/docs.html#howto>.

	  Note: if you just want your box to act as an SMB *server* and make
	  files and printing services available to Windows clients (which need
	  to have a TCP/IP stack), you don't need to say Y here; you can use
	  the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
	  for that.

	  General information about how to connect Linux, Windows machines and
	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.

	  To compile the SMB support as a module, choose M here:
	  the module will be called smbfs.  Most people say N, however.

config SMB_NLS_DEFAULT
	bool "Use a default NLS"
	depends on SMB_FS
	help
	  Enabling this will make smbfs use nls translations by default. You
	  need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
	  settings and you need to give the default nls for the SMB server as
	  CONFIG_SMB_NLS_REMOTE.

	  The nls settings can be changed at mount time, if your smbmount
	  supports that, using the codepage and iocharset parameters.

	  smbmount from samba 2.2.0 or later supports this.

config SMB_NLS_REMOTE
	string "Default Remote NLS Option"
	depends on SMB_NLS_DEFAULT
	default "cp437"
	help
	  This setting allows you to specify a default value for which
	  codepage the server uses. If this field is left blank no
	  translations will be done by default. The local codepage/charset
	  default to CONFIG_NLS_DEFAULT.

	  The nls settings can be changed at mount time, if your smbmount
	  supports that, using the codepage and iocharset parameters.

	  smbmount from samba 2.2.0 or later supports this.

source "fs/cifs/Kconfig"

config NCP_FS
	tristate "NCP file system support (to mount NetWare volumes)"
	depends on IPX!=n || INET
	help
	  NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
	  used by Novell NetWare clients to talk to file servers.  It is to
	  IPX what NFS is to TCP/IP, if that helps.  Saying Y here allows you
	  to mount NetWare file server volumes and to access them just like
	  any other Unix directory.  For details, please read the file
	  <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
	  the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.

	  You do not have to say Y here if you want your Linux box to act as a
	  file *server* for Novell NetWare clients.

	  General information about how to connect Linux, Windows machines and
	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.

	  To compile this as a module, choose M here: the module will be called
	  ncpfs.  Say N unless you are connected to a Novell network.

source "fs/ncpfs/Kconfig"

config CODA_FS
	tristate "Coda file system support (advanced network fs)"
	depends on INET
	help
	  Coda is an advanced network file system, similar to NFS in that it
	  enables you to mount file systems of a remote server and access them
	  with regular Unix commands as if they were sitting on your hard
	  disk.  Coda has several advantages over NFS: support for
	  disconnected operation (e.g. for laptops), read/write server
	  replication, security model for authentication and encryption,
	  persistent client caches and write back caching.

	  If you say Y here, your Linux box will be able to act as a Coda
	  *client*.  You will need user level code as well, both for the
	  client and server.  Servers are currently user level, i.e. they need
	  no kernel support.  Please read
	  <file:Documentation/filesystems/coda.txt> and check out the Coda
	  home page <http://www.coda.cs.cmu.edu/>.

	  To compile the coda client support as a module, choose M here: the
	  module will be called coda.

config AFS_FS
	tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
	depends on INET && EXPERIMENTAL
	select AF_RXRPC
	help
	  If you say Y here, you will get an experimental Andrew File System
	  driver. It currently only supports unsecured read-only AFS access.

	  See <file:Documentation/filesystems/afs.txt> for more information.

	  If unsure, say N.

config AFS_DEBUG
	bool "AFS dynamic debugging"
	depends on AFS_FS
	help
	  Say Y here to make runtime controllable debugging messages appear.

	  See <file:Documentation/filesystems/afs.txt> for more information.

	  If unsure, say N.

config 9P_FS
	tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
	depends on INET && NET_9P && EXPERIMENTAL
	help
	  If you say Y here, you will get experimental support for
	  Plan 9 resource sharing via the 9P2000 protocol.

	  See <http://v9fs.sf.net> for more information.

	  If unsure, say N.

endif # NETWORK_FILESYSTEMS

if BLOCK
menu "Partition Types"

source "fs/partitions/Kconfig"

endmenu
endif

source "fs/nls/Kconfig"
source "fs/dlm/Kconfig"

endmenu