summaryrefslogtreecommitdiffstats
path: root/fs/Kconfig
blob: 35941e8a17c5122778607396d41b1534cea760c6 (plain)
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
#
# 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"
source "fs/efs/Kconfig"
source "fs/jffs2/Kconfig"
# UBIFS File system configuration
source "fs/ubifs/Kconfig"
source "fs/cramfs/Kconfig"
source "fs/squashfs/Kconfig"
source "fs/freevxfs/Kconfig"
source "fs/minix/Kconfig"
source "fs/omfs/Kconfig"
source "fs/hpfs/Kconfig"
source "fs/qnx4/Kconfig"
source "fs/romfs/Kconfig"
source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig"

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