NLM: Always start both UDP and TCP listeners
[safe/jmp/linux-2.6] / fs / Kconfig
index 42cfb7d..ed57a5a 100644 (file)
@@ -140,6 +140,7 @@ config EXT4DEV_FS
        tristate "Ext4dev/ext4 extended fs support development (EXPERIMENTAL)"
        depends on EXPERIMENTAL
        select JBD2
+       select CRC16
        help
          Ext4dev is a predecessor filesystem of the next generation
          extended fs ext4, based on ext3 filesystem code. It will be
@@ -219,7 +220,7 @@ config JBD
 
 config JBD_DEBUG
        bool "JBD (ext3) debugging support"
-       depends on JBD
+       depends on JBD && DEBUG_FS
        help
          If you are using the ext3 journaled file system (or potentially any
          other file system/device using JBD), this option allows you to
@@ -228,13 +229,14 @@ config JBD_DEBUG
          debugging output will be turned off.
 
          If you select Y here, then you will be able to turn on debugging
-         with "echo N > /proc/sys/fs/jbd-debug", where N is a number between
-         1 and 5, the higher the number, the more debugging output is
-         generated.  To turn debugging off again, do
-         "echo 0 > /proc/sys/fs/jbd-debug".
+         with "echo N > /sys/kernel/debug/jbd/jbd-debug", where N is a
+         number between 1 and 5, the higher the number, the more debugging
+         output is generated.  To turn debugging off again, do
+         "echo 0 > /sys/kernel/debug/jbd/jbd-debug".
 
 config JBD2
        tristate
+       select CRC32
        help
          This is a generic journaling layer for block devices that support
          both 32-bit and 64-bit block numbers.  It is currently used by
@@ -251,7 +253,7 @@ config JBD2
 
 config JBD2_DEBUG
        bool "JBD2 (ext4dev/ext4) debugging support"
-       depends on JBD2
+       depends on JBD2 && DEBUG_FS
        help
          If you are using the ext4dev/ext4 journaled file system (or
          potentially any other filesystem/device using JBD2), this option
@@ -260,10 +262,10 @@ config JBD2_DEBUG
          By default, the debugging output will be turned off.
 
          If you select Y here, then you will be able to turn on debugging
-         with "echo N > /proc/sys/fs/jbd2-debug", where N is a number between
-         1 and 5. The higher the number, the more debugging output is
-         generated.  To turn debugging off again, do
-         "echo 0 > /proc/sys/fs/jbd2-debug".
+         with "echo N > /sys/kernel/debug/jbd2/jbd2-debug", where N is a
+         number between 1 and 5. The higher the number, the more debugging
+         output is generated.  To turn debugging off again, do
+         "echo 0 > /sys/kernel/debug/jbd2/jbd2-debug".
 
 config FS_MBCACHE
 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
@@ -409,7 +411,7 @@ config JFS_STATISTICS
          to be made available to the user in the /proc/fs/jfs/ directory.
 
 config FS_POSIX_ACL
-# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs)
+# 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.
@@ -417,6 +419,14 @@ config FS_POSIX_ACL
        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"
 
@@ -439,17 +449,42 @@ config OCFS2_FS
          Tools web page:      http://oss.oracle.com/projects/ocfs2-tools
          OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/
 
-         Note: Features which OCFS2 does not support yet:
-                 - extended attributes
-                 - shared writeable mmap
-                 - loopback is supported, but data written will not
-                   be cluster coherent.
-                 - quotas
-                 - cluster aware flock
-                 - Directory change notification (F_NOTIFY)
-                 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
-                 - POSIX ACLs
-                 - readpages / writepages (not user visible)
+         For more information on OCFS2, see the file
+         <file:Documentation/filesystems/ocfs2.txt>.
+
+config OCFS2_FS_O2CB
+       tristate "O2CB Kernelspace Clustering"
+       depends on OCFS2_FS
+       default y
+       help
+         OCFS2 includes a simple kernelspace clustering package, the OCFS2
+         Cluster Base.  It only requires a very small userspace component
+         to configure it. This comes with the standard ocfs2-tools package.
+         O2CB is limited to maintaining a cluster for OCFS2 file systems.
+         It cannot manage any other cluster applications.
+
+         It is always safe to say Y here, as the clustering method is
+         run-time selectable.
+
+config OCFS2_FS_USERSPACE_CLUSTER
+       tristate "OCFS2 Userspace Clustering"
+       depends on OCFS2_FS && DLM
+       default y
+       help
+         This option will allow OCFS2 to use userspace clustering services
+         in conjunction with the DLM in fs/dlm.  If you are using a
+         userspace cluster manager, say Y here.
+
+         It is safe to say Y, as the clustering method is run-time
+         selectable.
+
+config OCFS2_FS_STATS
+       bool "OCFS2 statistics"
+       depends on OCFS2_FS
+       default y
+       help
+         This option allows some fs statistics to be captured. Enabling
+         this option may increase the memory consumption.
 
 config OCFS2_DEBUG_MASKLOG
        bool "OCFS2 logging support"
@@ -461,40 +496,27 @@ config OCFS2_DEBUG_MASKLOG
          This option will enlarge your kernel, but it allows debugging of
          ocfs2 filesystem issues.
 
-config MINIX_FS
-       tristate "Minix fs support"
+config OCFS2_DEBUG_FS
+       bool "OCFS2 expensive checks"
+       depends on OCFS2_FS
+       default n
        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.
+         This option will enable expensive consistency checks. Enable
+         this option for debugging only as it is likely to decrease
+         performance of the filesystem.
 
-         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.
+endif # BLOCK
 
-config ROMFS_FS
-       tristate "ROM file system support"
-       ---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 DNOTIFY
+       bool "Dnotify support"
+       default y
+       help
+         Dnotify is a directory-based per-fd file change notification system
+         that uses signals to communicate events to user-space.  There exist
+         superior alternatives, but some applications may still rely on
+         dnotify.
 
-endif
+         If unsure, say Y.
 
 config INOTIFY
        bool "Inotify file change notification support"
@@ -506,7 +528,7 @@ config INOTIFY
          including multiple file events, one-shot support, and unmount
          notification.
 
-         For more information, see Documentation/filesystems/inotify.txt
+         For more information, see <file:Documentation/filesystems/inotify.txt>
 
          If unsure, say Y.
 
@@ -520,7 +542,7 @@ config INOTIFY_USER
          directories via a single open fd.  Events are read from the file
          descriptor, which is also select()- and poll()-able.
 
-         For more information, see Documentation/filesystems/inotify.txt
+         For more information, see <file:Documentation/filesystems/inotify.txt>
 
          If unsure, say Y.
 
@@ -537,6 +559,24 @@ config QUOTA
          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.
+
 config QFMT_V1
        tristate "Old quota format support"
        depends on QUOTA
@@ -557,17 +597,6 @@ config QUOTACTL
        depends on XFS_QUOTA || QUOTA
        default y
 
-config DNOTIFY
-       bool "Dnotify support" if EMBEDDED
-       default y
-       help
-         Dnotify is a directory-based per-fd file change notification system
-         that uses signals to communicate events to user-space.  There exist
-         superior alternatives, but some applications may still rely on
-         dnotify.
-
-         Because of this, if unsure, say Y.
-
 config AUTOFS_FS
        tristate "Kernel automounter support"
        help
@@ -676,6 +705,7 @@ config ZISOFS
 
 config UDF_FS
        tristate "UDF file system support"
+       select CRC_ITU_T
        help
          This is the new file system used on some CD-ROMs and DVDs. Say Y if
          you intend to mount DVD discs or CDRW's written in packet mode, or
@@ -693,7 +723,7 @@ config UDF_NLS
        depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)
 
 endmenu
-endif
+endif # BLOCK
 
 if BLOCK
 menu "DOS/FAT/NT Filesystems"
@@ -816,7 +846,7 @@ config NTFS_FS
          from the project web site.
 
          For more information see <file:Documentation/filesystems/ntfs.txt>
-         and <http://linux-ntfs.sourceforge.net/>.
+         and <http://www.linux-ntfs.org/>.
 
          To compile this file system support as a module, choose M here: the
          module will be called ntfs.
@@ -876,69 +906,11 @@ config NTFS_RW
          It is perfectly safe to say N here.
 
 endmenu
-endif
+endif # BLOCK
 
 menu "Pseudo filesystems"
 
-config PROC_FS
-       bool "/proc file system support" if EMBEDDED
-       default y
-       help
-         This is a virtual file system providing information about the status
-         of the system. "Virtual" means that it doesn't take up any space on
-         your hard disk: the files are created on the fly by the kernel when
-         you try to access them. Also, you cannot read the files with older
-         version of the program less: you need to use more or cat.
-
-         It's totally cool; for example, "cat /proc/interrupts" gives
-         information about what the different IRQs are used for at the moment
-         (there is a small number of Interrupt ReQuest lines in your computer
-         that are used by the attached devices to gain the CPU's attention --
-         often a source of trouble if two devices are mistakenly configured
-         to use the same IRQ). The program procinfo to display some
-         information about your system gathered from the /proc file system.
-
-         Before you can use the /proc file system, it has to be mounted,
-         meaning it has to be given a location in the directory hierarchy.
-         That location should be /proc. A command such as "mount -t proc proc
-         /proc" or the equivalent line in /etc/fstab does the job.
-
-         The /proc file system is explained in the file
-         <file:Documentation/filesystems/proc.txt> and on the proc(5) manpage
-         ("man 5 proc").
-
-         This option will enlarge your kernel by about 67 KB. Several
-         programs depend on this, so everyone should say Y here.
-
-config PROC_KCORE
-       bool "/proc/kcore support" if !ARM
-       depends on PROC_FS && MMU
-
-config PROC_VMCORE
-        bool "/proc/vmcore support (EXPERIMENTAL)"
-        depends on PROC_FS && EXPERIMENTAL && CRASH_DUMP
-       default y
-        help
-        Exports the dump image of crashed kernel in ELF format.
-
-config PROC_SYSCTL
-       bool "Sysctl support (/proc/sys)" if EMBEDDED
-       depends on PROC_FS
-       select SYSCTL
-       default y
-       ---help---
-         The sysctl interface provides a means of dynamically changing
-         certain kernel parameters and variables on the fly without requiring
-         a recompile of the kernel or reboot of the system.  The primary
-         interface is through /proc/sys.  If you say Y here a tree of
-         modifiable sysctl entries will be generated beneath the
-          /proc/sys directory. They are explained in the files
-         in <file:Documentation/sysctl/>.  Note that enabling this
-         option will enlarge the kernel by at least 8 KB.
-
-         As it is generally a good thing, you should say Y here unless
-         building a kernel for install/rescue disks or your system is very
-         limited in memory.
+source "fs/proc/Kconfig"
 
 config SYSFS
        bool "sysfs file system support" if EMBEDDED
@@ -991,7 +963,8 @@ config TMPFS_POSIX_ACL
 
 config HUGETLBFS
        bool "HugeTLB file system support"
-       depends on X86 || IA64 || PPC64 || SPARC64 || SUPERH || BROKEN
+       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
@@ -1002,23 +975,9 @@ config HUGETLBFS
 config HUGETLB_PAGE
        def_bool HUGETLBFS
 
-config RAMFS
-       bool
-       default y
-       ---help---
-         Ramfs is a file system which keeps all files in RAM. It allows
-         read and write access.
-
-         It is more of an programming example than a useable file system.  If
-         you need a file system which lives in RAM with limit checking use
-         tmpfs.
-
-         To compile this as a module, choose M here: the module will be called
-         ramfs.
-
 config CONFIGFS_FS
-       tristate "Userspace-driven configuration filesystem (EXPERIMENTAL)"
-       depends on SYSFS && EXPERIMENTAL
+       tristate "Userspace-driven configuration filesystem"
+       depends on SYSFS
        help
          configfs is a ram-based filesystem that provides the converse
          of sysfs's functionality. Where sysfs is a filesystem-based
@@ -1087,7 +1046,7 @@ config ECRYPT_FS
        depends on EXPERIMENTAL && KEYS && CRYPTO && NET
        help
          Encrypted filesystem that operates on the VFS layer.  See
-         <file:Documentation/ecryptfs.txt> to learn more about
+         <file:Documentation/filesystems/ecryptfs.txt> to learn more about
          eCryptfs.  Userspace components are required and can be
          obtained from <http://ecryptfs.sf.net>.
 
@@ -1101,8 +1060,8 @@ config HFS_FS
        help
          If you say Y here, you will be able to mount Macintosh-formatted
          floppy disks and hard drive partitions with full read-write access.
-         Please read <file:fs/hfs/HFS.txt> to learn about the available mount
-         options.
+         Please read <file:Documentation/filesystems/hfs.txt> to learn about
+         the available mount options.
 
          To compile this file system support as a module, choose M here: the
          module will be called hfs.
@@ -1146,7 +1105,7 @@ config BEFS_DEBUG
        depends on BEFS_FS
        help
          If you say Y here, you can use the 'debug' mount option to enable
-         debugging output from the driver. 
+         debugging output from the driver.
 
 config BFS_FS
        tristate "BFS file system support (EXPERIMENTAL)"
@@ -1257,7 +1216,7 @@ config JFFS2_FS_XATTR
          Extended attributes are name:value pairs associated with inodes by
          the kernel or by users (see the attr(5) manual page, or visit
          <http://acl.bestbits.at/> for details).
-         
+
          If unsure, say N.
 
 config JFFS2_FS_POSIX_ACL
@@ -1268,10 +1227,10 @@ config JFFS2_FS_POSIX_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 JFFS2_FS_SECURITY
@@ -1283,7 +1242,7 @@ config JFFS2_FS_SECURITY
          implemented by security modules like SELinux.  This option
          enables an extended attribute handler for file security
          labels in the jffs2 filesystem.
-         
+
          If you are not using a security module that requires using
          extended attributes for file security labels, say N.
 
@@ -1294,7 +1253,7 @@ config JFFS2_COMPRESSION_OPTIONS
        help
          Enabling this option allows you to explicitly choose which
          compression modules, if any, are enabled in JFFS2. Removing
-         compressors and mean you cannot read existing file systems,
+         compressors can mean you cannot read existing file systems,
          and enabling experimental compressors can mean that you
          write a file system which cannot be read by a standard kernel.
 
@@ -1319,11 +1278,12 @@ config JFFS2_LZO
        select LZO_COMPRESS
        select LZO_DECOMPRESS
        depends on JFFS2_FS
-       default y
+       default n
        help
          minilzo-based compression. Generally works better than Zlib.
 
-         Say 'Y' if unsure.
+         This feature was added in July, 2007. Say 'N' if you need
+         compatibility with older bootloaders or kernels.
 
 config JFFS2_RTIME
        bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
@@ -1373,6 +1333,9 @@ config JFFS2_CMODE_FAVOURLZO
 
 endchoice
 
+# UBIFS File system configuration
+source "fs/ubifs/Kconfig"
+
 config CRAMFS
        tristate "Compressed ROM file system support (cramfs)"
        depends on BLOCK
@@ -1410,6 +1373,37 @@ config VXFS_FS
          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"
@@ -1427,7 +1421,6 @@ config HPFS_FS
          module will be called hpfs.  If unsure, say N.
 
 
-
 config QNX4FS_FS
        tristate "QNX4 file system support (read only)"
        depends on BLOCK
@@ -1454,6 +1447,22 @@ config QNX4FS_RW
          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
@@ -1494,7 +1503,6 @@ config SYSV_FS
          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
@@ -1510,10 +1518,6 @@ config UFS_FS
           The recently released UFS2 variant (used in FreeBSD 5.x) is
           READ-ONLY supported.
 
-         If you only intend to mount files from some other Unix over the
-         network using NFS, you don't need the UFS 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
@@ -1545,103 +1549,108 @@ config UFS_DEBUG
 
 endmenu
 
-menu "Network File Systems"
+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 file system support"
+       tristate "NFS client support"
        depends on INET
        select LOCKD
        select SUNRPC
        select NFS_ACL_SUPPORT if NFS_V3_ACL
        help
-         If you are connected to some other (usually local) Unix computer
-         (using SLIP, PLIP, PPP or Ethernet) and want to mount files residing
-         on that computer (the NFS server) using the Network File Sharing
-         protocol, say Y. "Mounting files" means that the client can access
-         the files with usual UNIX commands as if they were sitting on the
-         client's hard disk. For this to work, the server must run the
-         programs nfsd and mountd (but does not need to have NFS file system
-         support enabled in its kernel). NFS is explained in the Network
-         Administrator's Guide, available from
-         <http://www.tldp.org/docs.html#guide>, on its man page: "man
-         nfs", and in the NFS-HOWTO.
-
-         A superior but less widely used alternative to NFS is provided by
-         the Coda file system; see "Coda file system support" below.
+         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.
 
-         If you say Y here, you should have said Y to TCP/IP networking also.
-         This option would enlarge your kernel by about 27 KB.
+         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.
 
-         To compile this file system support as a module, choose M here: the
-         module will be called nfs.
+         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.
 
-         If you are configuring a diskless machine which will mount its root
-         file system over NFS at boot time, say Y here and to "Kernel
-         level IP autoconfiguration" above and to "Root file system on NFS"
-         below. You cannot compile this driver as a module in this case.
-         There are two packages designed for booting diskless machines over
-         the net: netboot, available from
-         <http://ftp1.sourceforge.net/netboot/>, and Etherboot,
-         available from <http://ftp1.sourceforge.net/etherboot/>.
+         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 you don't know what all this is about, say N.
+         If unsure, say N.
 
 config NFS_V3
-       bool "Provide NFSv3 client support"
+       bool "NFS client support for NFS version 3"
        depends on NFS_FS
        help
-         Say Y here if you want your NFS client to be able to speak version
-         3 of the NFS protocol.
+         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 "Provide client support for the NFSv3 ACL protocol extension"
+       bool "NFS client support for the NFSv3 ACL protocol extension"
        depends on NFS_V3
        help
-         Implement the NFSv3 ACL protocol extension for manipulating POSIX
-         Access Control Lists.  The server should also be compiled with
-         the NFSv3 ACL protocol extension; see the CONFIG_NFSD_V3_ACL option.
+         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 "Provide NFSv4 client support (EXPERIMENTAL)"
+       bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
        depends on NFS_FS && EXPERIMENTAL
        select RPCSEC_GSS_KRB5
        help
-         Say Y here if you want your NFS client to be able to speak the newer
-         version 4 of the NFS protocol.
+         This option enables support for version 4 of the NFS protocol
+         (RFC 3530) in the kernel's NFS client.
 
-         Note: Requires auxiliary userspace daemons which may be found on
-               http://www.citi.umich.edu/projects/nfsv4/
+         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 NFS_DIRECTIO
-       bool "Allow direct I/O on NFS files"
-       depends on NFS_FS
+config ROOT_NFS
+       bool "Root file system on NFS"
+       depends on NFS_FS=y && IP_PNP
        help
-         This option enables applications to perform uncached I/O on files
-         in NFS file systems using the O_DIRECT open() flag.  When O_DIRECT
-         is set for a file, its data is not cached in the system's page
-         cache.  Data is moved to and from user-level application buffers
-         directly.  Unlike local disk-based file systems, NFS O_DIRECT has
-         no alignment restrictions.
-
-         Unless your program is designed to use O_DIRECT properly, you are
-         much better off allowing the NFS client to manage data caching for
-         you.  Misusing O_DIRECT can cause poor server performance or network
-         storms.  This kernel build option defaults OFF to avoid exposing
-         system administrators unwittingly to a potentially hazardous
-         feature.
-
-         For more details on NFS O_DIRECT, see fs/nfs/direct.c.
+         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>.
 
-         If unsure, say N.  This reduces the size of the NFS client, and
-         causes open() to return EINVAL if a file residing in NFS is
-         opened with the O_DIRECT flag.
+         Most people say N here.
 
 config NFSD
        tristate "NFS server support"
@@ -1649,86 +1658,80 @@ config NFSD
        select LOCKD
        select SUNRPC
        select EXPORTFS
-       select NFSD_V2_ACL if NFSD_V3_ACL
        select NFS_ACL_SUPPORT if NFSD_V2_ACL
-       select NFSD_TCP if NFSD_V4
-       select CRYPTO_MD5 if NFSD_V4
-       select CRYPTO if NFSD_V4
-       select FS_POSIX_ACL if NFSD_V4
        help
-         If you want your Linux box to act as an NFS *server*, so that other
-         computers on your local network which support NFS can access certain
-         directories on your box transparently, you have two options: you can
-         use the self-contained user space program nfsd, in which case you
-         should say N here, or you can say Y and use the kernel based NFS
-         server. The advantage of the kernel based solution is that it is
-         faster.
+         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.
 
-         In either case, you will need support software; the respective
-         locations are given in the file <file:Documentation/Changes> in the
-         NFS section.
+         You may choose to use a user-space NFS server instead, in which
+         case you can choose N here.
 
-         If you say Y here, you will get support for version 2 of the NFS
-         protocol (NFSv2). If you also want NFSv3, say Y to the next question
-         as well.
+         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.
 
-         Please read the NFS-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
+         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.
 
-         To compile the NFS server support as a module, choose M here: the
-         module will be called nfsd.  If unsure, say N.
+         If unsure, say N.
 
 config NFSD_V2_ACL
        bool
        depends on NFSD
 
 config NFSD_V3
-       bool "Provide NFSv3 server support"
+       bool "NFS server support for NFS version 3"
        depends on NFSD
        help
-         If you would like to include the NFSv3 server as well as the NFSv2
-         server, say Y here.  If unsure, say Y.
+         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 "Provide server support for the NFSv3 ACL protocol extension"
+       bool "NFS server support for the NFSv3 ACL protocol extension"
        depends on NFSD_V3
+       select NFSD_V2_ACL
        help
-         Implement the NFSv3 ACL protocol extension for manipulating POSIX
-         Access Control Lists on exported file systems. NFS clients should
-         be compiled with the NFSv3 ACL protocol extension; see the
-         CONFIG_NFS_V3_ACL option.  If unsure, say N.
+         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.
 
-config NFSD_V4
-       bool "Provide NFSv4 server support (EXPERIMENTAL)"
-       depends on NFSD_V3 && EXPERIMENTAL
-       help
-         If you would like to include the NFSv4 server as well as the NFSv2
-         and NFSv3 servers, say Y here.  This feature is experimental, and
-         should only be used if you are interested in helping to test NFSv4.
          If unsure, say N.
 
-config NFSD_TCP
-       bool "Provide NFS server over TCP support"
-       depends on NFSD
-       default y
+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
-         If you want your NFS server to support TCP connections, say Y here.
-         TCP connections usually perform better than the default UDP when
-         the network is lossy or congested.  If unsure, say Y.
+         This option enables support in your system's NFS server for
+         version 4 of the NFS protocol (RFC 3530).
 
-config ROOT_NFS
-       bool "Root file system on NFS"
-       depends on NFS_FS=y && IP_PNP
-       help
-         If you want your Linux box to mount its whole root file system (the
-         one containing the directory /) from some other computer over the
-         net via NFS (presumably because your box doesn't have a hard disk),
-         say Y. Read <file:Documentation/nfsroot.txt> for details. It is
-         likely that in this case, you also want to say Y to "Kernel level IP
-         autoconfiguration" so that your box can discover its network address
-         at boot time.
+         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/.
 
-         Most people say N here.
+         If unsure, say N.
 
 config LOCKD
        tristate
@@ -1756,17 +1759,41 @@ config SUNRPC
 config SUNRPC_GSS
        tristate
 
-config SUNRPC_BIND34
-       bool "Support for rpcbind versions 3 & 4 (EXPERIMENTAL)"
+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
-         Provides kernel support for querying rpcbind servers via versions 3
-         and 4 of the rpcbind protocol.  The kernel automatically falls back
-         to version 2 if a remote rpcbind service does not support versions
-         3 or 4.
+         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.
 
-         If unsure, say N to get traditional behavior (version 2 rpcbind
-         requests only).
+         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)"
@@ -1777,12 +1804,13 @@ config RPCSEC_GSS_KRB5
        select CRYPTO_DES
        select CRYPTO_CBC
        help
-         Provides for secure RPC calls by means of a gss-api
-         mechanism based on Kerberos V5. This is required for
-         NFSv4.
+         Choose Y here to enable Secure RPC using the Kerberos version 5
+         GSS-API mechanism (RFC 1964).
 
-         Note: Requires an auxiliary userspace daemon which may be found on
-               http://www.citi.umich.edu/projects/nfsv4/
+         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.
 
@@ -1796,16 +1824,17 @@ config RPCSEC_GSS_SPKM3
        select CRYPTO_CAST5
        select CRYPTO_CBC
        help
-         Provides for secure RPC calls by means of a gss-api
-         mechanism based on the SPKM3 public-key mechanism.
+         Choose Y here to enable Secure RPC using the SPKM3 public key
+         GSS-API mechansim (RFC 2025).
 
-         Note: Requires an auxiliary userspace daemon which may be found on
-               http://www.citi.umich.edu/projects/nfsv4/
+         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 (to mount Windows shares etc.)"
+       tristate "SMB file system support (OBSOLETE, please use CIFS)"
        depends on INET
        select NLS
        help
@@ -1828,8 +1857,8 @@ config SMB_FS
          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.
+         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"
@@ -1861,7 +1890,7 @@ config SMB_NLS_REMOTE
          smbmount from samba 2.2.0 or later supports this.
 
 config CIFS
-       tristate "CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)"
+       tristate "CIFS support (advanced network filesystem, SMBFS successor)"
        depends on INET
        select NLS
        help
@@ -1872,13 +1901,15 @@ config CIFS
          file servers such as Windows 2000 (including Windows 2003, NT 4  
          and Windows XP) as well by Samba (which provides excellent CIFS
          server support for Linux and many other operating systems). Limited
-         support for OS/2 and Windows ME and similar servers is provided as well.
-
-         The intent of the cifs module is to provide an advanced
-         network file system client for mounting to CIFS compliant servers,
-         including support for dfs (hierarchical name space), secure per-user
-         session establishment, safe distributed caching (oplock), optional
-         packet signing, Unicode and other internationalization improvements. 
+         support for OS/2 and Windows ME and similar servers is provided as
+         well.
+
+         The cifs module provides an advanced network file system
+         client for mounting to CIFS compliant servers.  It includes
+         support for DFS (hierarchical name space), secure per-user
+         session establishment via Kerberos or NTLM or NTLMv2,
+         safe distributed caching (oplock), optional packet
+         signing, Unicode and other internationalization improvements.
          If you need to mount to Samba or Windows from this machine, say Y.
 
 config CIFS_STATS
@@ -1910,24 +1941,35 @@ config CIFS_WEAK_PW_HASH
          (since 1997) support stronger NTLM (and even NTLMv2 and Kerberos)
          security mechanisms. These hash the password more securely
          than the mechanisms used in the older LANMAN version of the
-          SMB protocol needed to establish sessions with old SMB servers.
+         SMB protocol but LANMAN based authentication is needed to
+         establish sessions with some old SMB servers.
 
          Enabling this option allows the cifs module to mount to older
          LANMAN based servers such as OS/2 and Windows 95, but such
          mounts may be less secure than mounts using NTLM or more recent
          security mechanisms if you are on a public network.  Unless you
-         have a need to access old SMB servers (and are on a private 
+         have a need to access old SMB servers (and are on a private
          network) you probably want to say N.  Even if this support
-         is enabled in the kernel build, they will not be used
-         automatically. At runtime LANMAN mounts are disabled but
+         is enabled in the kernel build, LANMAN authentication will not be
+         used automatically. At runtime LANMAN mounts are disabled but
          can be set to required (or optional) either in
          /proc/fs/cifs (see fs/cifs/README for more detail) or via an
-         option on the mount command. This support is disabled by 
+         option on the mount command. This support is disabled by
          default in order to reduce the possibility of a downgrade
          attack.
+
          If unsure, say N.
 
+config CIFS_UPCALL
+         bool "Kerberos/SPNEGO advanced session setup"
+         depends on CIFS && KEYS
+         help
+           Enables an upcall mechanism for CIFS which accesses
+           userspace helper utilities to provide SPNEGO packaged (RFC 4178)
+           Kerberos tickets which are needed to mount to certain secure servers
+           (for which more secure Kerberos authentication is required). If
+           unsure, say N.
+
 config CIFS_XATTR
         bool "CIFS extended attributes"
         depends on CIFS
@@ -1966,7 +2008,7 @@ config CIFS_DEBUG2
           messages in some error paths, slowing performance. This
           option can be turned off unless you are debugging
           cifs problems.  If unsure, say N.
-          
+
 config CIFS_EXPERIMENTAL
          bool "CIFS Experimental Features (EXPERIMENTAL)"
          depends on CIFS && EXPERIMENTAL
@@ -1980,16 +2022,15 @@ config CIFS_EXPERIMENTAL
            (which is disabled by default). See the file fs/cifs/README 
            for more details.  If unsure, say N.
 
-config CIFS_UPCALL
-         bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)"
+config CIFS_DFS_UPCALL
+         bool "DFS feature support (EXPERIMENTAL)"
          depends on CIFS_EXPERIMENTAL
-         depends on CONNECTOR
+         depends on KEYS
          help
-           Enables an upcall mechanism for CIFS which will be used to contact
-           userspace helper utilities to provide SPNEGO packaged Kerberos
-           tickets which are needed to mount to certain secure servers
-           (for which more secure Kerberos authentication is required). If
-           unsure, say N.
+           Enables an upcall mechanism for CIFS which contacts userspace
+           helper utilities to provide server name resolution (host names to
+           IP addresses) which is needed for implicit mounts of DFS junction
+           points. If unsure, say N.
 
 config NCP_FS
        tristate "NCP file system support (to mount NetWare volumes)"
@@ -2036,20 +2077,6 @@ config CODA_FS
          To compile the coda client support as a module, choose M here: the
          module will be called coda.
 
-config CODA_FS_OLD_API
-       bool "Use 96-bit Coda file identifiers"
-       depends on CODA_FS
-       help
-         A new kernel-userspace API had to be introduced for Coda v6.0
-         to support larger 128-bit file identifiers as needed by the
-         new realms implementation.
-
-         However this new API is not backward compatible with older
-         clients. If you really need to run the old Coda userspace
-         cache manager then say Y.
-         
-         For most cases you probably want to say N.
-
 config AFS_FS
        tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
        depends on INET && EXPERIMENTAL
@@ -2074,7 +2101,7 @@ config AFS_DEBUG
 
 config 9P_FS
        tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
-       depends on INET && 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.
@@ -2083,7 +2110,7 @@ config 9P_FS
 
          If unsure, say N.
 
-endmenu
+endif # NETWORK_FILESYSTEMS
 
 if BLOCK
 menu "Partition Types"
@@ -2097,4 +2124,3 @@ source "fs/nls/Kconfig"
 source "fs/dlm/Kconfig"
 
 endmenu
-