sfc: Don't count RX checksum errors during loopback self-test
[safe/jmp/linux-2.6] / fs / Kconfig
index a722b5a..522469a 100644 (file)
@@ -6,61 +6,9 @@ menu "File systems"
 
 if BLOCK
 
 
 if BLOCK
 
-config EXT2_FS
-       tristate "Second extended fs support"
-       help
-         Ext2 is a standard Linux file system for hard disks.
-
-         To compile this file system support as a module, choose M here: the
-         module will be called ext2.
-
-         If unsure, say Y.
-
-config EXT2_FS_XATTR
-       bool "Ext2 extended attributes"
-       depends on EXT2_FS
-       help
-         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 EXT2_FS_POSIX_ACL
-       bool "Ext2 POSIX Access Control Lists"
-       depends on EXT2_FS_XATTR
-       select 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 EXT2_FS_SECURITY
-       bool "Ext2 Security Labels"
-       depends on EXT2_FS_XATTR
-       help
-         Security labels support alternative access control models
-         implemented by security modules like SELinux.  This option
-         enables an extended attribute handler for file security
-         labels in the ext2 filesystem.
-
-         If you are not using a security module that requires using
-         extended attributes for file security labels, say N.
-
-config EXT2_FS_XIP
-       bool "Ext2 execute in place support"
-       depends on EXT2_FS && MMU
-       help
-         Execute in place can be used on memory-backed block devices. If you
-         enable this option, you can select to mount block devices which are
-         capable of this feature without using the page cache.
-
-         If you do not use a block device that is capable of using this,
-         or if unsure, say N.
+source "fs/ext2/Kconfig"
+source "fs/ext3/Kconfig"
+source "fs/ext4/Kconfig"
 
 config FS_XIP
 # execute in place
 
 config FS_XIP
 # execute in place
@@ -68,209 +16,16 @@ config FS_XIP
        depends on EXT2_FS_XIP
        default y
 
        depends on EXT2_FS_XIP
        default y
 
-config EXT3_FS
-       tristate "Ext3 journalling file system support"
-       select JBD
-       help
-         This is the journalling version of the Second extended file system
-         (often called ext3), the de facto standard Linux file system
-         (method to organize files on a storage device) for hard disks.
-
-         The journalling code included in this driver means you do not have
-         to run e2fsck (file system checker) on your file systems after a
-         crash.  The journal keeps track of any changes that were being made
-         at the time the system crashed, and can ensure that your file system
-         is consistent without the need for a lengthy check.
-
-         Other than adding the journal to the file system, the on-disk format
-         of ext3 is identical to ext2.  It is possible to freely switch
-         between using the ext3 driver and the ext2 driver, as long as the
-         file system has been cleanly unmounted, or e2fsck is run on the file
-         system.
-
-         To add a journal on an existing ext2 file system or change the
-         behavior of ext3 file systems, you can use the tune2fs utility ("man
-         tune2fs").  To modify attributes of files and directories on ext3
-         file systems, use chattr ("man chattr").  You need to be using
-         e2fsprogs version 1.20 or later in order to create ext3 journals
-         (available at <http://sourceforge.net/projects/e2fsprogs/>).
-
-         To compile this file system support as a module, choose M here: the
-         module will be called ext3.
-
-config EXT3_FS_XATTR
-       bool "Ext3 extended attributes"
-       depends on EXT3_FS
-       default y
-       help
-         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.
-
-         You need this for POSIX ACL support on ext3.
-
-config EXT3_FS_POSIX_ACL
-       bool "Ext3 POSIX Access Control Lists"
-       depends on EXT3_FS_XATTR
-       select 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 EXT3_FS_SECURITY
-       bool "Ext3 Security Labels"
-       depends on EXT3_FS_XATTR
-       help
-         Security labels support alternative access control models
-         implemented by security modules like SELinux.  This option
-         enables an extended attribute handler for file security
-         labels in the ext3 filesystem.
-
-         If you are not using a security module that requires using
-         extended attributes for file security labels, say N.
-
-config EXT4DEV_FS
-       tristate "Ext4dev/ext4 extended fs support development (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
-       select JBD2
-       help
-         Ext4dev is a predecessor filesystem of the next generation
-         extended fs ext4, based on ext3 filesystem code. It will be
-         renamed ext4 fs later, once ext4dev is mature and stabilized.
-
-         Unlike the change from ext2 filesystem to ext3 filesystem,
-         the on-disk format of ext4dev is not the same as ext3 any more:
-         it is based on extent maps and it supports 48-bit physical block
-         numbers. These combined on-disk format changes will allow
-         ext4dev/ext4 to handle more than 16 TB filesystem volumes --
-         a hard limit that ext3 cannot overcome without changing the
-         on-disk format.
-
-         Other than extent maps and 48-bit block numbers, ext4dev also is
-         likely to have other new features such as persistent preallocation,
-         high resolution time stamps, and larger file support etc.  These
-         features will be added to ext4dev gradually.
-
-         To compile this file system support as a module, choose M here. The
-         module will be called ext4dev.
-
-         If unsure, say N.
-
-config EXT4DEV_FS_XATTR
-       bool "Ext4dev extended attributes"
-       depends on EXT4DEV_FS
-       default y
-       help
-         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.
-
-         You need this for POSIX ACL support on ext4dev/ext4.
-
-config EXT4DEV_FS_POSIX_ACL
-       bool "Ext4dev POSIX Access Control Lists"
-       depends on EXT4DEV_FS_XATTR
-       select 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 EXT4DEV_FS_SECURITY
-       bool "Ext4dev Security Labels"
-       depends on EXT4DEV_FS_XATTR
-       help
-         Security labels support alternative access control models
-         implemented by security modules like SELinux.  This option
-         enables an extended attribute handler for file security
-         labels in the ext4dev/ext4 filesystem.
-
-         If you are not using a security module that requires using
-         extended attributes for file security labels, say N.
-
-config JBD
-       tristate
-       help
-         This is a generic journalling layer for block devices.  It is
-         currently used by the ext3 and OCFS2 file systems, but it could
-         also be used to add journal support to other file systems or block
-         devices such as RAID or LVM.
-
-         If you are using the ext3 or OCFS2 file systems, you need to
-         say Y here. If you are not using ext3 OCFS2 then you will probably
-         want to say N.
-
-         To compile this device as a module, choose M here: the module will be
-         called jbd.  If you are compiling ext3 or OCFS2 into the kernel,
-         you cannot compile this code as a module.
-
-config JBD_DEBUG
-       bool "JBD (ext3) debugging support"
-       depends on JBD
-       help
-         If you are using the ext3 journaled file system (or potentially any
-         other file system/device using JBD), this option allows you to
-         enable debugging output while the system is running, in order to
-         help track down any problems you are having.  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/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".
-
-config JBD2
-       tristate
-       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
-         the ext4dev/ext4 filesystem, but it could also be used to add
-         journal support to other file systems or block devices such
-         as RAID or LVM.
-
-         If you are using ext4dev/ext4, you need to say Y here. If you are not
-         using ext4dev/ext4 then you will probably want to say N.
-
-         To compile this device as a module, choose M here. The module will be
-         called jbd2.  If you are compiling ext4dev/ext4 into the kernel,
-         you cannot compile this code as a module.
-
-config JBD2_DEBUG
-       bool "JBD2 (ext4dev/ext4) debugging support"
-       depends on JBD2
-       help
-         If you are using the ext4dev/ext4 journaled file system (or
-         potentially any other filesystem/device using JBD2), this option
-         allows you to enable debugging output while the system is running,
-         in order to help track down any problems you are having.
-         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".
+source "fs/jbd/Kconfig"
+source "fs/jbd2/Kconfig"
 
 config FS_MBCACHE
 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
        tristate
 
 config FS_MBCACHE
 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
        tristate
-       depends on EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4DEV_FS_XATTR
-       default y if EXT2_FS=y || EXT3_FS=y || EXT4DEV_FS=y
-       default m if EXT2_FS=m || EXT3_FS=m || EXT4DEV_FS=m
+       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
 
 config REISERFS_FS
        tristate "Reiserfs support"
 
 config REISERFS_FS
        tristate "Reiserfs support"
@@ -314,7 +69,7 @@ config REISERFS_CHECK
 
 config REISERFS_PROC_INFO
        bool "Stats in /proc/fs/reiserfs"
 
 config REISERFS_PROC_INFO
        bool "Stats in /proc/fs/reiserfs"
-       depends on REISERFS_FS
+       depends on REISERFS_FS && PROC_FS
        help
          Create under /proc/fs/reiserfs a hierarchy of files, displaying
          various ReiserFS statistics and internal data at the expense of
        help
          Create under /proc/fs/reiserfs a hierarchy of files, displaying
          various ReiserFS statistics and internal data at the expense of
@@ -409,7 +164,7 @@ config JFS_STATISTICS
          to be made available to the user in the /proc/fs/jfs/ directory.
 
 config FS_POSIX_ACL
          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.
 #
 # NOTE: you can implement Posix ACLs without these helpers (XFS does).
 #      Never use this symbol for ifdefs.
@@ -417,6 +172,14 @@ config FS_POSIX_ACL
        bool
        default n
 
        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/xfs/Kconfig"
 source "fs/gfs2/Kconfig"
 
@@ -424,7 +187,7 @@ config OCFS2_FS
        tristate "OCFS2 file system support"
        depends on NET && SYSFS
        select CONFIGFS_FS
        tristate "OCFS2 file system support"
        depends on NET && SYSFS
        select CONFIGFS_FS
-       select JBD
+       select JBD2
        select CRC32
        help
          OCFS2 is a general purpose extent based shared disk cluster file
        select CRC32
        help
          OCFS2 is a general purpose extent based shared disk cluster file
@@ -439,17 +202,42 @@ config OCFS2_FS
          Tools web page:      http://oss.oracle.com/projects/ocfs2-tools
          OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/
 
          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"
 
 config OCFS2_DEBUG_MASKLOG
        bool "OCFS2 logging support"
@@ -461,40 +249,37 @@ config OCFS2_DEBUG_MASKLOG
          This option will enlarge your kernel, but it allows debugging of
          ocfs2 filesystem issues.
 
          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
        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.
+config OCFS2_COMPAT_JBD
+       bool "Use JBD for compatibility"
+       depends on OCFS2_FS
+       default n
+       select JBD
+       help
+         The ocfs2 filesystem now uses JBD2 for its journalling.  JBD2
+         is backwards compatible with JBD.  It is safe to say N here.
+         However, if you really want to use the original JBD, say Y here.
 
 
-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.
+endif # BLOCK
 
 
-         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"
 
 config INOTIFY
        bool "Inotify file change notification support"
@@ -506,7 +291,7 @@ config INOTIFY
          including multiple file events, one-shot support, and unmount
          notification.
 
          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.
 
 
          If unsure, say Y.
 
@@ -520,7 +305,7 @@ config INOTIFY_USER
          directories via a single open fd.  Events are read from the file
          descriptor, which is also select()- and poll()-able.
 
          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.
 
 
          If unsure, say Y.
 
@@ -537,6 +322,24 @@ config QUOTA
          with the quota tools. Probably the quota support is only useful for
          multi user systems. If unsure, say N.
 
          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
 config QFMT_V1
        tristate "Old quota format support"
        depends on QUOTA
@@ -557,17 +360,6 @@ config QUOTACTL
        depends on XFS_QUOTA || QUOTA
        default y
 
        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
 config AUTOFS_FS
        tristate "Kernel automounter support"
        help
@@ -612,7 +404,7 @@ config AUTOFS4_FS
          N here.
 
 config FUSE_FS
          N here.
 
 config FUSE_FS
-       tristate "Filesystem in Userspace support"
+       tristate "FUSE (Filesystem in Userspace) support"
        help
          With FUSE it is possible to implement a fully functional filesystem
          in a userspace program.
        help
          With FUSE it is possible to implement a fully functional filesystem
          in a userspace program.
@@ -676,6 +468,7 @@ config ZISOFS
 
 config UDF_FS
        tristate "UDF file system support"
 
 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
        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 +486,7 @@ config UDF_NLS
        depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)
 
 endmenu
        depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)
 
 endmenu
-endif
+endif # BLOCK
 
 if BLOCK
 menu "DOS/FAT/NT Filesystems"
 
 if BLOCK
 menu "DOS/FAT/NT Filesystems"
@@ -724,10 +517,6 @@ config FAT_FS
          file system and use GNU tar's M option. GNU tar is a program
          available for Unix and DOS ("man tar" or "info tar").
 
          file system and use GNU tar's M option. GNU tar is a program
          available for Unix and DOS ("man tar" or "info tar").
 
-         It is now also becoming possible to read and write compressed FAT
-         file systems; read <file:Documentation/filesystems/fat_cvf.txt> for
-         details.
-
          The FAT support will enlarge your kernel by about 37 KB. If unsure,
          say Y.
 
          The FAT support will enlarge your kernel by about 37 KB. If unsure,
          say Y.
 
@@ -820,7 +609,7 @@ config NTFS_FS
          from the project web site.
 
          For more information see <file:Documentation/filesystems/ntfs.txt>
          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.
 
          To compile this file system support as a module, choose M here: the
          module will be called ntfs.
@@ -880,69 +669,11 @@ config NTFS_RW
          It is perfectly safe to say N here.
 
 endmenu
          It is perfectly safe to say N here.
 
 endmenu
-endif
+endif # BLOCK
 
 menu "Pseudo filesystems"
 
 
 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
 
 config SYSFS
        bool "sysfs file system support" if EMBEDDED
@@ -995,7 +726,8 @@ config TMPFS_POSIX_ACL
 
 config HUGETLBFS
        bool "HugeTLB file system support"
 
 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
        help
          hugetlbfs is a filesystem backing for HugeTLB pages, based on
          ramfs. For architectures that support it, say Y here and read
@@ -1006,23 +738,9 @@ config HUGETLBFS
 config HUGETLB_PAGE
        def_bool 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
 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
        help
          configfs is a ram-based filesystem that provides the converse
          of sysfs's functionality. Where sysfs is a filesystem-based
@@ -1091,7 +809,7 @@ config ECRYPT_FS
        depends on EXPERIMENTAL && KEYS && CRYPTO && NET
        help
          Encrypted filesystem that operates on the VFS layer.  See
        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>.
 
          eCryptfs.  Userspace components are required and can be
          obtained from <http://ecryptfs.sf.net>.
 
@@ -1105,8 +823,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.
        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.
 
          To compile this file system support as a module, choose M here: the
          module will be called hfs.
@@ -1150,7 +868,7 @@ config BEFS_DEBUG
        depends on BEFS_FS
        help
          If you say Y here, you can use the 'debug' mount option to enable
        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)"
 
 config BFS_FS
        tristate "BFS file system support (EXPERIMENTAL)"
@@ -1189,193 +907,9 @@ config EFS_FS
          To compile the EFS file system support as a module, choose M here: the
          module will be called efs.
 
          To compile the EFS file system support as a module, choose M here: the
          module will be called efs.
 
-config JFFS_FS
-       tristate "Journalling Flash File System (JFFS) support"
-       depends on MTD && BLOCK && BROKEN
-       help
-         JFFS is the Journalling Flash File System developed by Axis
-         Communications in Sweden, aimed at providing a crash/powerdown-safe
-         file system for disk-less embedded devices. Further information is
-         available at (<http://developer.axis.com/software/jffs/>).
-
-         NOTE: This filesystem is deprecated and is scheduled for removal in
-         2.6.21.  See Documentation/feature-removal-schedule.txt
-
-config JFFS_FS_VERBOSE
-       int "JFFS debugging verbosity (0 = quiet, 3 = noisy)"
-       depends on JFFS_FS
-       default "0"
-       help
-         Determines the verbosity level of the JFFS debugging messages.
-
-config JFFS_PROC_FS
-       bool "JFFS stats available in /proc filesystem"
-       depends on JFFS_FS && PROC_FS
-       help
-         Enabling this option will cause statistics from mounted JFFS file systems
-         to be made available to the user in the /proc/fs/jffs/ directory.
-
-config JFFS2_FS
-       tristate "Journalling Flash File System v2 (JFFS2) support"
-       select CRC32
-       depends on MTD
-       help
-         JFFS2 is the second generation of the Journalling Flash File System
-         for use on diskless embedded devices. It provides improved wear
-         levelling, compression and support for hard links. You cannot use
-         this on normal block devices, only on 'MTD' devices.
-
-         Further information on the design and implementation of JFFS2 is
-         available at <http://sources.redhat.com/jffs2/>.
-
-config JFFS2_FS_DEBUG
-       int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
-       depends on JFFS2_FS
-       default "0"
-       help
-         This controls the amount of debugging messages produced by the JFFS2
-         code. Set it to zero for use in production systems. For evaluation,
-         testing and debugging, it's advisable to set it to one. This will
-         enable a few assertions and will print debugging messages at the
-         KERN_DEBUG loglevel, where they won't normally be visible. Level 2
-         is unlikely to be useful - it enables extra debugging in certain
-         areas which at one point needed debugging, but when the bugs were
-         located and fixed, the detailed messages were relegated to level 2.
-
-         If reporting bugs, please try to have available a full dump of the
-         messages at debug level 1 while the misbehaviour was occurring.
-
-config JFFS2_FS_WRITEBUFFER
-       bool "JFFS2 write-buffering support"
-       depends on JFFS2_FS
-       default y
-       help
-         This enables the write-buffering support in JFFS2.
-
-         This functionality is required to support JFFS2 on the following
-         types of flash devices:
-           - NAND flash
-           - NOR flash with transparent ECC
-           - DataFlash
-
-config JFFS2_SUMMARY
-       bool "JFFS2 summary support (EXPERIMENTAL)"
-       depends on JFFS2_FS && EXPERIMENTAL
-       default n
-       help
-         This feature makes it possible to use summary information
-         for faster filesystem mount.
-
-         The summary information can be inserted into a filesystem image
-         by the utility 'sumtool'.
-
-         If unsure, say 'N'.
-
-config JFFS2_FS_XATTR
-       bool "JFFS2 XATTR support (EXPERIMENTAL)"
-       depends on JFFS2_FS && EXPERIMENTAL
-       default n
-       help
-         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
-       bool "JFFS2 POSIX Access Control Lists"
-       depends on JFFS2_FS_XATTR
-       default y
-       select 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
-       bool "JFFS2 Security Labels"
-       depends on JFFS2_FS_XATTR
-       default y
-       help
-         Security labels support alternative access control models
-         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.
-
-config JFFS2_COMPRESSION_OPTIONS
-       bool "Advanced compression options for JFFS2"
-       depends on JFFS2_FS
-       default n
-       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,
-         and enabling experimental compressors can mean that you
-         write a file system which cannot be read by a standard kernel.
-
-         If unsure, you should _definitely_ say 'N'.
-
-config JFFS2_ZLIB
-       bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
-       select ZLIB_INFLATE
-       select ZLIB_DEFLATE
-       depends on JFFS2_FS
-       default y
-        help
-          Zlib is designed to be a free, general-purpose, legally unencumbered,
-          lossless data-compression library for use on virtually any computer
-          hardware and operating system. See <http://www.gzip.org/zlib/> for
-          further information.
-
-          Say 'Y' if unsure.
-
-config JFFS2_RTIME
-       bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
-       depends on JFFS2_FS
-       default y
-        help
-          Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
-
-config JFFS2_RUBIN
-       bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
-       depends on JFFS2_FS
-       default n
-        help
-          RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.
-
-choice
-        prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
-        default JFFS2_CMODE_PRIORITY
-        depends on JFFS2_FS
-        help
-          You can set here the default compression mode of JFFS2 from
-          the available compression modes. Don't touch if unsure.
-
-config JFFS2_CMODE_NONE
-        bool "no compression"
-        help
-          Uses no compression.
-
-config JFFS2_CMODE_PRIORITY
-        bool "priority"
-        help
-          Tries the compressors in a predefined order and chooses the first
-          successful one.
-
-config JFFS2_CMODE_SIZE
-        bool "size (EXPERIMENTAL)"
-        help
-          Tries all compressors and chooses the one which has the smallest
-          result.
-
-endchoice
+source "fs/jffs2/Kconfig"
+# UBIFS File system configuration
+source "fs/ubifs/Kconfig"
 
 config CRAMFS
        tristate "Compressed ROM file system support (cramfs)"
 
 config CRAMFS
        tristate "Compressed ROM file system support (cramfs)"
@@ -1414,6 +948,37 @@ config VXFS_FS
          To compile this as a module, choose M here: the module will be
          called freevxfs.  If unsure, say N.
 
          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"
 
 config HPFS_FS
        tristate "OS/2 HPFS file system support"
@@ -1431,7 +996,6 @@ config HPFS_FS
          module will be called hpfs.  If unsure, say N.
 
 
          module will be called hpfs.  If unsure, say N.
 
 
-
 config QNX4FS_FS
        tristate "QNX4 file system support (read only)"
        depends on BLOCK
 config QNX4FS_FS
        tristate "QNX4 file system support (read only)"
        depends on BLOCK
@@ -1458,6 +1022,22 @@ config QNX4FS_RW
          It's currently broken, so for now:
          answer N.
 
          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
 
 
 config SYSV_FS
@@ -1498,7 +1078,6 @@ config SYSV_FS
          If you haven't heard about all of this before, it's safe to say N.
 
 
          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
 config UFS_FS
        tristate "UFS file system support (read only)"
        depends on BLOCK
@@ -1514,10 +1093,6 @@ config UFS_FS
           The recently released UFS2 variant (used in FreeBSD 5.x) is
           READ-ONLY supported.
 
           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
          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
@@ -1549,103 +1124,108 @@ config UFS_DEBUG
 
 endmenu
 
 
 endmenu
 
-menu "Network File Systems"
+menuconfig NETWORK_FILESYSTEMS
+       bool "Network File Systems"
+       default y
        depends on NET
        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
 
 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
        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
 
 config NFS_V3
-       bool "Provide NFSv3 client support"
+       bool "NFS client support for NFS version 3"
        depends on NFS_FS
        help
        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
 
          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
        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
 
          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
        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.
 
 
          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
        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.
+         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>.
 
 
-         For more details on NFS O_DIRECT, see fs/nfs/direct.c.
-
-         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"
 
 config NFSD
        tristate "NFS server support"
@@ -1653,86 +1233,80 @@ config NFSD
        select LOCKD
        select SUNRPC
        select EXPORTFS
        select LOCKD
        select SUNRPC
        select EXPORTFS
-       select NFSD_V2_ACL if NFSD_V3_ACL
        select NFS_ACL_SUPPORT if NFSD_V2_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
        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
 
 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
        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
 
 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
        depends on NFSD_V3
+       select NFSD_V2_ACL
        help
        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.
 
          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
        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
 
 config LOCKD
        tristate
@@ -1760,6 +1334,42 @@ config SUNRPC
 config SUNRPC_GSS
        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
 config RPCSEC_GSS_KRB5
        tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
        depends on SUNRPC && EXPERIMENTAL
@@ -1769,12 +1379,13 @@ config RPCSEC_GSS_KRB5
        select CRYPTO_DES
        select CRYPTO_CBC
        help
        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.
 
 
          If unsure, say N.
 
@@ -1788,16 +1399,17 @@ config RPCSEC_GSS_SPKM3
        select CRYPTO_CAST5
        select CRYPTO_CBC
        help
        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
 
          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
        depends on INET
        select NLS
        help
@@ -1820,8 +1432,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>.
 
          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"
 
 config SMB_NLS_DEFAULT
        bool "Use a default NLS"
@@ -1852,136 +1464,7 @@ config SMB_NLS_REMOTE
 
          smbmount from samba 2.2.0 or later supports this.
 
 
          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)"
-       depends on INET
-       select NLS
-       help
-         This is the client VFS module for the Common Internet File System
-         (CIFS) protocol which is the successor to the Server Message Block 
-         (SMB) protocol, the native file sharing mechanism for most early
-         PC operating systems.  The CIFS protocol is fully supported by 
-         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. 
-         If you need to mount to Samba or Windows from this machine, say Y.
-
-config CIFS_STATS
-        bool "CIFS statistics"
-        depends on CIFS
-        help
-          Enabling this option will cause statistics for each server share
-         mounted by the cifs client to be displayed in /proc/fs/cifs/Stats
-
-config CIFS_STATS2
-       bool "Extended statistics"
-       depends on CIFS_STATS
-       help
-         Enabling this option will allow more detailed statistics on SMB
-         request timing to be displayed in /proc/fs/cifs/DebugData and also
-         allow optional logging of slow responses to dmesg (depending on the
-         value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details).
-         These additional statistics may have a minor effect on performance
-         and memory utilization.
-
-         Unless you are a developer or are doing network performance analysis
-         or tuning, say N.
-
-config CIFS_WEAK_PW_HASH
-       bool "Support legacy servers which use weaker LANMAN security"
-       depends on CIFS
-       help
-         Modern CIFS servers including Samba and most Windows versions
-         (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.
-
-         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 
-         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
-         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 
-         default in order to reduce the possibility of a downgrade
-         attack.
-         If unsure, say N.
-
-config CIFS_XATTR
-        bool "CIFS extended attributes"
-        depends on CIFS
-        help
-          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).  CIFS maps the name of
-          extended attributes beginning with the user namespace prefix
-          to SMB/CIFS EAs. EAs are stored on Windows servers without the
-          user namespace prefix, but their names are seen by Linux cifs clients
-          prefaced by the user namespace prefix. The system namespace
-          (used by some filesystems to store ACLs) is not supported at
-          this time.
-
-          If unsure, say N.
-
-config CIFS_POSIX
-        bool "CIFS POSIX Extensions"
-        depends on CIFS_XATTR
-        help
-          Enabling this option will cause the cifs client to attempt to
-         negotiate a newer dialect with servers, such as Samba 3.0.5
-         or later, that optionally can handle more POSIX like (rather
-         than Windows like) file behavior.  It also enables
-         support for POSIX ACLs (getfacl and setfacl) to servers
-         (such as Samba 3.10 and later) which can negotiate
-         CIFS POSIX ACL support.  If unsure, say N.
-
-config CIFS_DEBUG2
-       bool "Enable additional CIFS debugging routines"
-       depends on CIFS
-       help
-          Enabling this option adds a few more debugging routines
-          to the cifs code which slightly increases the size of
-          the cifs module and can cause additional logging of debug
-          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
-         help
-           Enables cifs features under testing. These features are
-           experimental and currently include DFS support and directory 
-           change notification ie fcntl(F_DNOTIFY), as well as the upcall
-           mechanism which will be used for Kerberos session negotiation
-           and uid remapping.  Some of these features also may depend on 
-           setting a value of 1 to the pseudo-file /proc/fs/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)"
-         depends on CIFS_EXPERIMENTAL
-         depends on CONNECTOR
-         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.
+source "fs/cifs/Kconfig"
 
 config NCP_FS
        tristate "NCP file system support (to mount NetWare volumes)"
 
 config NCP_FS
        tristate "NCP file system support (to mount NetWare volumes)"
@@ -2028,24 +1511,10 @@ config CODA_FS
          To compile the coda client support as a module, choose M here: the
          module will be called coda.
 
          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
 config AFS_FS
        tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
        depends on INET && EXPERIMENTAL
-       select RXRPC
+       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.
        help
          If you say Y here, you will get an experimental Andrew File System
          driver. It currently only supports unsecured read-only AFS access.
@@ -2054,12 +1523,19 @@ config AFS_FS
 
          If unsure, say N.
 
 
          If unsure, say N.
 
-config RXRPC
-       tristate
+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)"
 
 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.
        help
          If you say Y here, you will get experimental support for
          Plan 9 resource sharing via the 9P2000 protocol.
@@ -2068,7 +1544,7 @@ config 9P_FS
 
          If unsure, say N.
 
 
          If unsure, say N.
 
-endmenu
+endif # NETWORK_FILESYSTEMS
 
 if BLOCK
 menu "Partition Types"
 
 if BLOCK
 menu "Partition Types"
@@ -2082,4 +1558,3 @@ source "fs/nls/Kconfig"
 source "fs/dlm/Kconfig"
 
 endmenu
 source "fs/dlm/Kconfig"
 
 endmenu
-