2 # File system configuration
9 source "fs/ext2/Kconfig"
10 source "fs/ext3/Kconfig"
11 source "fs/ext4/Kconfig"
16 depends on EXT2_FS_XIP
19 source "fs/jbd/Kconfig"
20 source "fs/jbd2/Kconfig"
23 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
25 default y if EXT2_FS=y && EXT2_FS_XATTR
26 default y if EXT3_FS=y && EXT3_FS_XATTR
27 default y if EXT4_FS=y && EXT4_FS_XATTR
28 default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR
30 source "fs/reiserfs/Kconfig"
31 source "fs/jfs/Kconfig"
34 # Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
36 # NOTE: you can implement Posix ACLs without these helpers (XFS does).
37 # Never use this symbol for ifdefs.
43 bool "Enable POSIX file locking API" if EMBEDDED
46 This option enables standard file locking support, required
47 for filesystems like NFS and for the flock() system
48 call. Disabling this option saves about 11k.
50 source "fs/xfs/Kconfig"
51 source "fs/gfs2/Kconfig"
52 source "fs/ocfs2/Kconfig"
53 source "fs/btrfs/Kconfig"
57 source "fs/notify/Kconfig"
62 If you say Y here, you will be able to set per user limits for disk
63 usage (also called disk quotas). Currently, it works for the
64 ext2, ext3, and reiserfs file system. ext3 also supports journalled
65 quotas for which you don't need to run quotacheck(8) after an unclean
67 For further details, read the Quota mini-HOWTO, available from
68 <http://www.tldp.org/docs.html#howto>, or the documentation provided
69 with the quota tools. Probably the quota support is only useful for
70 multi user systems. If unsure, say N.
72 config QUOTA_NETLINK_INTERFACE
73 bool "Report quota messages through netlink interface"
74 depends on QUOTA && NET
76 If you say Y here, quota warnings (about exceeding softlimit, reaching
77 hardlimit, etc.) will be reported through netlink interface. If unsure,
80 config PRINT_QUOTA_WARNING
81 bool "Print quota warnings to console (OBSOLETE)"
85 If you say Y here, quota warnings (about exceeding softlimit, reaching
86 hardlimit, etc.) will be printed to the process' controlling terminal.
87 Note that this behavior is currently deprecated and may go away in
88 future. Please use notification via netlink socket instead.
90 # Generic support for tree structured quota files. Seleted when needed.
95 tristate "Old quota format support"
98 This quota format was (is) used by kernels earlier than 2.4.22. If
99 you have quota working and you don't want to convert to new quota
103 tristate "Quota format v2 support"
107 This quota format allows using quotas with 32-bit UIDs/GIDs. If you
108 need this functionality say Y here.
112 depends on XFS_QUOTA || QUOTA
115 source "fs/autofs/Kconfig"
116 source "fs/autofs4/Kconfig"
117 source "fs/fuse/Kconfig"
124 menu "CD-ROM/DVD Filesystems"
126 source "fs/isofs/Kconfig"
127 source "fs/udf/Kconfig"
133 menu "DOS/FAT/NT Filesystems"
135 source "fs/fat/Kconfig"
136 source "fs/ntfs/Kconfig"
141 menu "Pseudo filesystems"
143 source "fs/proc/Kconfig"
144 source "fs/sysfs/Kconfig"
147 bool "Virtual memory file system support (former shm fs)"
149 Tmpfs is a file system which keeps all files in virtual memory.
151 Everything in tmpfs is temporary in the sense that no files will be
152 created on your hard drive. The files live in memory and swap
153 space. If you unmount a tmpfs instance, everything stored therein is
156 See <file:Documentation/filesystems/tmpfs.txt> for details.
158 config TMPFS_POSIX_ACL
159 bool "Tmpfs POSIX Access Control Lists"
163 POSIX Access Control Lists (ACLs) support permissions for users and
164 groups beyond the owner/group/world scheme.
166 To learn more about Access Control Lists, visit the POSIX ACLs for
167 Linux website <http://acl.bestbits.at/>.
169 If you don't know what Access Control Lists are, say N.
172 bool "HugeTLB file system support"
173 depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
174 (S390 && 64BIT) || BROKEN
176 hugetlbfs is a filesystem backing for HugeTLB pages, based on
177 ramfs. For architectures that support it, say Y here and read
178 <file:Documentation/vm/hugetlbpage.txt> for details.
185 source "fs/configfs/Kconfig"
189 menuconfig MISC_FILESYSTEMS
190 bool "Miscellaneous filesystems"
193 Say Y here to get to see options for various miscellaneous
194 filesystems, such as filesystems that came from other
197 This option alone does not add any kernel code.
199 If you say N, all options in this submenu will be skipped and
200 disabled; if unsure, say Y here.
204 source "fs/adfs/Kconfig"
205 source "fs/affs/Kconfig"
206 source "fs/ecryptfs/Kconfig"
207 source "fs/hfs/Kconfig"
208 source "fs/hfsplus/Kconfig"
209 source "fs/befs/Kconfig"
210 source "fs/bfs/Kconfig"
211 source "fs/efs/Kconfig"
212 source "fs/jffs2/Kconfig"
213 # UBIFS File system configuration
214 source "fs/ubifs/Kconfig"
215 source "fs/cramfs/Kconfig"
216 source "fs/squashfs/Kconfig"
217 source "fs/freevxfs/Kconfig"
218 source "fs/minix/Kconfig"
219 source "fs/omfs/Kconfig"
222 tristate "OS/2 HPFS file system support"
225 OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
226 is the file system used for organizing files on OS/2 hard disk
227 partitions. Say Y if you want to be able to read files from and
228 write files to an OS/2 HPFS partition on your hard drive. OS/2
229 floppies however are in regular MSDOS format, so you don't need this
230 option in order to be able to read them. Read
231 <file:Documentation/filesystems/hpfs.txt>.
233 To compile this file system support as a module, choose M here: the
234 module will be called hpfs. If unsure, say N.
238 tristate "QNX4 file system support (read only)"
241 This is the file system used by the real-time operating systems
242 QNX 4 and QNX 6 (the latter is also called QNX RTP).
243 Further information is available at <http://www.qnx.com/>.
244 Say Y if you intend to mount QNX hard disks or floppies.
245 Unless you say Y to "QNX4FS read-write support" below, you will
246 only be able to read these file systems.
248 To compile this file system support as a module, choose M here: the
249 module will be called qnx4.
251 If you don't know whether you need it, then you don't need it:
255 bool "QNX4FS write support (DANGEROUS)"
256 depends on QNX4FS_FS && EXPERIMENTAL && BROKEN
258 Say Y if you want to test write support for QNX4 file systems.
260 It's currently broken, so for now:
264 tristate "ROM file system support"
267 This is a very small read-only file system mainly intended for
268 initial ram disks of installation disks, but it could be used for
269 other read-only media as well. Read
270 <file:Documentation/filesystems/romfs.txt> for details.
272 To compile this file system support as a module, choose M here: the
273 module will be called romfs. Note that the file system of your
274 root partition (the one containing the directory /) cannot be a
277 If you don't know whether you need it, then you don't need it:
282 tristate "System V/Xenix/V7/Coherent file system support"
285 SCO, Xenix and Coherent are commercial Unix systems for Intel
286 machines, and Version 7 was used on the DEC PDP-11. Saying Y
287 here would allow you to read from their floppies and hard disk
290 If you have floppies or hard disk partitions like that, it is likely
291 that they contain binaries from those other Unix systems; in order
292 to run these binaries, you will want to install linux-abi which is
293 a set of kernel modules that lets you run SCO, Xenix, Wyse,
294 UnixWare, Dell Unix and System V programs under Linux. It is
295 available via FTP (user: ftp) from
296 <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
297 NOTE: that will work only for binaries from Intel-based systems;
298 PDP ones will have to wait until somebody ports Linux to -11 ;-)
300 If you only intend to mount files from some other Unix over the
301 network using NFS, you don't need the System V file system support
302 (but you need NFS file system support obviously).
304 Note that this option is generally not needed for floppies, since a
305 good portable way to transport files and directories between unixes
306 (and even other operating systems) is given by the tar program ("man
307 tar" or preferably "info tar"). Note also that this option has
308 nothing whatsoever to do with the option "System V IPC". Read about
309 the System V file system in
310 <file:Documentation/filesystems/sysv-fs.txt>.
311 Saying Y here will enlarge your kernel by about 27 KB.
313 To compile this as a module, choose M here: the module will be called
316 If you haven't heard about all of this before, it's safe to say N.
320 tristate "UFS file system support (read only)"
323 BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
324 OpenBSD and NeXTstep) use a file system called UFS. Some System V
325 Unixes can create and mount hard disk partitions and diskettes using
326 this file system as well. Saying Y here will allow you to read from
327 these partitions; if you also want to write to them, say Y to the
328 experimental "UFS file system write support", below. Please read the
329 file <file:Documentation/filesystems/ufs.txt> for more information.
331 The recently released UFS2 variant (used in FreeBSD 5.x) is
334 Note that this option is generally not needed for floppies, since a
335 good portable way to transport files and directories between unixes
336 (and even other operating systems) is given by the tar program ("man
337 tar" or preferably "info tar").
339 When accessing NeXTstep files, you may need to convert them from the
340 NeXT character set to the Latin1 character set; use the program
341 recode ("info recode") for this purpose.
343 To compile the UFS file system support as a module, choose M here: the
344 module will be called ufs.
346 If you haven't heard about all of this before, it's safe to say N.
349 bool "UFS file system write support (DANGEROUS)"
350 depends on UFS_FS && EXPERIMENTAL
352 Say Y here if you want to try writing to UFS partitions. This is
353 experimental, so you should back up your UFS partitions beforehand.
359 If you are experiencing any problems with the UFS filesystem, say
360 Y here. This will result in _many_ additional debugging messages to be
361 written to the system log.
363 endif # MISC_FILESYSTEMS
365 menuconfig NETWORK_FILESYSTEMS
366 bool "Network File Systems"
370 Say Y here to get to see options for network filesystems and
371 filesystem-related networking code, such as NFS daemon and
372 RPCSEC security modules.
374 This option alone does not add any kernel code.
376 If you say N, all options in this submenu will be skipped and
377 disabled; if unsure, say Y here.
379 if NETWORK_FILESYSTEMS
382 tristate "NFS client support"
386 select NFS_ACL_SUPPORT if NFS_V3_ACL
388 Choose Y here if you want to access files residing on other
389 computers using Sun's Network File System protocol. To compile
390 this file system support as a module, choose M here: the module
393 To mount file systems exported by NFS servers, you also need to
394 install the user space mount.nfs command which can be found in
395 the Linux nfs-utils package, available from http://linux-nfs.org/.
396 Information about using the mount command is available in the
397 mount(8) man page. More detail about the Linux NFS client
398 implementation is available via the nfs(5) man page.
400 Below you can choose which versions of the NFS protocol are
401 available in the kernel to mount NFS servers. Support for NFS
402 version 2 (RFC 1094) is always available when NFS_FS is selected.
404 To configure a system which mounts its root file system via NFS
405 at boot time, say Y here, select "Kernel level IP
406 autoconfiguration" in the NETWORK menu, and select "Root file
407 system on NFS" below. You cannot compile this file system as a
413 bool "NFS client support for NFS version 3"
416 This option enables support for version 3 of the NFS protocol
417 (RFC 1813) in the kernel's NFS client.
422 bool "NFS client support for the NFSv3 ACL protocol extension"
425 Some NFS servers support an auxiliary NFSv3 ACL protocol that
426 Sun added to Solaris but never became an official part of the
427 NFS version 3 protocol. This protocol extension allows
428 applications on NFS clients to manipulate POSIX Access Control
429 Lists on files residing on NFS servers. NFS servers enforce
430 ACLs on local files whether this protocol is available or not.
432 Choose Y here if your NFS server supports the Solaris NFSv3 ACL
433 protocol extension and you want your NFS client to allow
434 applications to access and modify ACLs on files on the server.
436 Most NFS servers don't support the Solaris NFSv3 ACL protocol
437 extension. You can choose N here or specify the "noacl" mount
438 option to prevent your NFS client from trying to use the NFSv3
444 bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
445 depends on NFS_FS && EXPERIMENTAL
446 select RPCSEC_GSS_KRB5
448 This option enables support for version 4 of the NFS protocol
449 (RFC 3530) in the kernel's NFS client.
451 To mount NFS servers using NFSv4, you also need to install user
452 space programs which can be found in the Linux nfs-utils package,
453 available from http://linux-nfs.org/.
458 bool "Root file system on NFS"
459 depends on NFS_FS=y && IP_PNP
461 If you want your system to mount its root file system via NFS,
462 choose Y here. This is common practice for managing systems
463 without local permanent storage. For details, read
464 <file:Documentation/filesystems/nfsroot.txt>.
466 Most people say N here.
469 tristate "NFS server support"
474 select NFS_ACL_SUPPORT if NFSD_V2_ACL
476 Choose Y here if you want to allow other computers to access
477 files residing on this system using Sun's Network File System
478 protocol. To compile the NFS server support as a module,
479 choose M here: the module will be called nfsd.
481 You may choose to use a user-space NFS server instead, in which
482 case you can choose N here.
484 To export local file systems using NFS, you also need to install
485 user space programs which can be found in the Linux nfs-utils
486 package, available from http://linux-nfs.org/. More detail about
487 the Linux NFS server implementation is available via the
490 Below you can choose which versions of the NFS protocol are
491 available to clients mounting the NFS server on this system.
492 Support for NFS version 2 (RFC 1094) is always available when
493 CONFIG_NFSD is selected.
502 bool "NFS server support for NFS version 3"
505 This option enables support in your system's NFS server for
506 version 3 of the NFS protocol (RFC 1813).
511 bool "NFS server support for the NFSv3 ACL protocol extension"
515 Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
516 never became an official part of the NFS version 3 protocol.
517 This protocol extension allows applications on NFS clients to
518 manipulate POSIX Access Control Lists on files residing on NFS
519 servers. NFS servers enforce POSIX ACLs on local files whether
520 this protocol is available or not.
522 This option enables support in your system's NFS server for the
523 NFSv3 ACL protocol extension allowing NFS clients to manipulate
524 POSIX ACLs on files exported by your system's NFS server. NFS
525 clients which support the Solaris NFSv3 ACL protocol can then
526 access and modify ACLs on your NFS server.
528 To store ACLs on your NFS server, you also need to enable ACL-
529 related CONFIG options for your local file systems of choice.
534 bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
535 depends on NFSD && PROC_FS && EXPERIMENTAL
538 select RPCSEC_GSS_KRB5
540 This option enables support in your system's NFS server for
541 version 4 of the NFS protocol (RFC 3530).
543 To export files using NFSv4, you need to install additional user
544 space programs which can be found in the Linux nfs-utils package,
545 available from http://linux-nfs.org/.
554 depends on NFSD_V3 || NFS_V3
560 config NFS_ACL_SUPPORT
566 depends on NFSD || NFS_FS
575 config SUNRPC_XPRT_RDMA
577 depends on SUNRPC && INFINIBAND && EXPERIMENTAL
578 default SUNRPC && INFINIBAND
580 This option enables an RPC client transport capability that
581 allows the NFS client to mount servers via an RDMA-enabled
584 To compile RPC client RDMA transport support as a module,
585 choose M here: the module will be called xprtrdma.
589 config SUNRPC_REGISTER_V4
590 bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)"
591 depends on SUNRPC && EXPERIMENTAL
594 Sun added support for registering RPC services at an IPv6
595 address by creating two new versions of the rpcbind protocol
598 This option enables support in the kernel RPC server for
599 registering kernel RPC services via version 4 of the rpcbind
600 protocol. If you enable this option, you must run a portmapper
601 daemon that supports rpcbind protocol version 4.
603 Serving NFS over IPv6 from knfsd (the kernel's NFS server)
604 requires that you enable this option and use a portmapper that
605 supports rpcbind version 4.
607 If unsure, say N to get traditional behavior (register kernel
608 RPC services using only rpcbind version 2). Distributions
609 using the legacy Linux portmapper daemon must say N here.
611 config RPCSEC_GSS_KRB5
612 tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
613 depends on SUNRPC && EXPERIMENTAL
620 Choose Y here to enable Secure RPC using the Kerberos version 5
621 GSS-API mechanism (RFC 1964).
623 Secure RPC calls with Kerberos require an auxiliary user-space
624 daemon which may be found in the Linux nfs-utils package
625 available from http://linux-nfs.org/. In addition, user-space
626 Kerberos support should be installed.
630 config RPCSEC_GSS_SPKM3
631 tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
632 depends on SUNRPC && EXPERIMENTAL
640 Choose Y here to enable Secure RPC using the SPKM3 public key
641 GSS-API mechansim (RFC 2025).
643 Secure RPC calls with SPKM3 require an auxiliary userspace
644 daemon which may be found in the Linux nfs-utils package
645 available from http://linux-nfs.org/.
650 tristate "SMB file system support (OBSOLETE, please use CIFS)"
654 SMB (Server Message Block) is the protocol Windows for Workgroups
655 (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
656 files and printers over local networks. Saying Y here allows you to
657 mount their file systems (often called "shares" in this context) and
658 access them just like any other Unix directory. Currently, this
659 works only if the Windows machines use TCP/IP as the underlying
660 transport protocol, and not NetBEUI. For details, read
661 <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
662 available from <http://www.tldp.org/docs.html#howto>.
664 Note: if you just want your box to act as an SMB *server* and make
665 files and printing services available to Windows clients (which need
666 to have a TCP/IP stack), you don't need to say Y here; you can use
667 the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
670 General information about how to connect Linux, Windows machines and
671 Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
673 To compile the SMB support as a module, choose M here:
674 the module will be called smbfs. Most people say N, however.
676 config SMB_NLS_DEFAULT
677 bool "Use a default NLS"
680 Enabling this will make smbfs use nls translations by default. You
681 need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
682 settings and you need to give the default nls for the SMB server as
683 CONFIG_SMB_NLS_REMOTE.
685 The nls settings can be changed at mount time, if your smbmount
686 supports that, using the codepage and iocharset parameters.
688 smbmount from samba 2.2.0 or later supports this.
690 config SMB_NLS_REMOTE
691 string "Default Remote NLS Option"
692 depends on SMB_NLS_DEFAULT
695 This setting allows you to specify a default value for which
696 codepage the server uses. If this field is left blank no
697 translations will be done by default. The local codepage/charset
698 default to CONFIG_NLS_DEFAULT.
700 The nls settings can be changed at mount time, if your smbmount
701 supports that, using the codepage and iocharset parameters.
703 smbmount from samba 2.2.0 or later supports this.
705 source "fs/cifs/Kconfig"
708 tristate "NCP file system support (to mount NetWare volumes)"
709 depends on IPX!=n || INET
711 NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
712 used by Novell NetWare clients to talk to file servers. It is to
713 IPX what NFS is to TCP/IP, if that helps. Saying Y here allows you
714 to mount NetWare file server volumes and to access them just like
715 any other Unix directory. For details, please read the file
716 <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
717 the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.
719 You do not have to say Y here if you want your Linux box to act as a
720 file *server* for Novell NetWare clients.
722 General information about how to connect Linux, Windows machines and
723 Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
725 To compile this as a module, choose M here: the module will be called
726 ncpfs. Say N unless you are connected to a Novell network.
728 source "fs/ncpfs/Kconfig"
731 tristate "Coda file system support (advanced network fs)"
734 Coda is an advanced network file system, similar to NFS in that it
735 enables you to mount file systems of a remote server and access them
736 with regular Unix commands as if they were sitting on your hard
737 disk. Coda has several advantages over NFS: support for
738 disconnected operation (e.g. for laptops), read/write server
739 replication, security model for authentication and encryption,
740 persistent client caches and write back caching.
742 If you say Y here, your Linux box will be able to act as a Coda
743 *client*. You will need user level code as well, both for the
744 client and server. Servers are currently user level, i.e. they need
745 no kernel support. Please read
746 <file:Documentation/filesystems/coda.txt> and check out the Coda
747 home page <http://www.coda.cs.cmu.edu/>.
749 To compile the coda client support as a module, choose M here: the
750 module will be called coda.
753 tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
754 depends on INET && EXPERIMENTAL
757 If you say Y here, you will get an experimental Andrew File System
758 driver. It currently only supports unsecured read-only AFS access.
760 See <file:Documentation/filesystems/afs.txt> for more information.
765 bool "AFS dynamic debugging"
768 Say Y here to make runtime controllable debugging messages appear.
770 See <file:Documentation/filesystems/afs.txt> for more information.
775 tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
776 depends on INET && NET_9P && EXPERIMENTAL
778 If you say Y here, you will get experimental support for
779 Plan 9 resource sharing via the 9P2000 protocol.
781 See <http://v9fs.sf.net> for more information.
785 endif # NETWORK_FILESYSTEMS
788 menu "Partition Types"
790 source "fs/partitions/Kconfig"
795 source "fs/nls/Kconfig"
796 source "fs/dlm/Kconfig"