libertas: fix use-before-check violation
[safe/jmp/linux-2.6] / fs / Kconfig
index 599de54..028ae38 100644 (file)
@@ -12,9 +12,7 @@ config EXT2_FS
          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.  Be aware however that the file system
-         of your root partition (the one containing the directory /) cannot
-         be compiled as a module, and so this could be dangerous.
+         module will be called ext2.
 
          If unsure, say Y.
 
@@ -98,9 +96,7 @@ config EXT3_FS
          (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.  Be aware however that the file system
-         of your root partition (the one containing the directory /) cannot
-         be compiled as a module, and so this may be dangerous.
+         module will be called ext3.
 
 config EXT3_FS_XATTR
        bool "Ext3 extended attributes"
@@ -140,6 +136,72 @@ config EXT3_FS_SECURITY
          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
+       select CRC16
+       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
@@ -158,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
@@ -167,17 +229,50 @@ 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
+         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 && DEBUG_FS
+       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 > /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)
+# Meta block cache for Extended Attributes (ext2/ext3/ext4)
        tristate
-       depends on EXT2_FS_XATTR || EXT3_FS_XATTR
-       default y if EXT2_FS=y || EXT3_FS=y
-       default m if EXT2_FS=m || EXT3_FS=m
+       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
 
 config REISERFS_FS
        tristate "Reiserfs support"
@@ -221,7 +316,7 @@ config REISERFS_CHECK
 
 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
@@ -333,7 +428,6 @@ config OCFS2_FS
        select CONFIGFS_FS
        select JBD
        select CRC32
-       select INET
        help
          OCFS2 is a general purpose extent based shared disk cluster file
          system with many similarities to ext3. It supports 64 bit inode
@@ -347,17 +441,34 @@ 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_DEBUG_MASKLOG
        bool "OCFS2 logging support"
@@ -369,40 +480,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"
@@ -414,7 +512,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.
 
@@ -428,7 +526,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.
 
@@ -445,6 +543,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
@@ -465,17 +581,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
@@ -535,6 +640,10 @@ config FUSE_FS
          If you want to develop a userspace FS, or if you want to use
          a filesystem based on FUSE, answer Y or M.
 
+config GENERIC_ACL
+       bool
+       select FS_POSIX_ACL
+
 if BLOCK
 menu "CD-ROM/DVD Filesystems"
 
@@ -578,12 +687,6 @@ config ZISOFS
          necessary to create such a filesystem.  Say Y here if you want to be
          able to read such compressed CD-ROMs.
 
-config ZISOFS_FS
-# for fs/nls/Config.in
-       tristate
-       depends on ZISOFS
-       default ISO9660_FS
-
 config UDF_FS
        tristate "UDF file system support"
        help
@@ -603,7 +706,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"
@@ -634,10 +737,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").
 
-         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.
 
@@ -790,7 +889,7 @@ config NTFS_RW
          It is perfectly safe to say N here.
 
 endmenu
-endif
+endif # BLOCK
 
 menu "Pseudo filesystems"
 
@@ -869,7 +968,7 @@ config SYSFS
 
        Some system agents rely on the information in sysfs to operate.
        /sbin/hotplug uses device and object attributes in sysfs to assist in
-       delegating policy decisions, like persistantly naming devices.
+       delegating policy decisions, like persistently naming devices.
 
        sysfs is currently used by the block subsystem to mount the root
        partition.  If sysfs is disabled you must specify the boot device on
@@ -905,7 +1004,7 @@ config TMPFS_POSIX_ACL
 
 config HUGETLBFS
        bool "HugeTLB file system support"
-       depends X86 || IA64 || PPC64 || SPARC64 || SUPERH || BROKEN
+       depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || BROKEN
        help
          hugetlbfs is a filesystem backing for HugeTLB pages, based on
          ramfs. For architectures that support it, say Y here and read
@@ -916,23 +1015,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
@@ -998,10 +1083,10 @@ config AFFS_FS
 
 config ECRYPT_FS
        tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && KEYS && CRYPTO
+       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>.
 
@@ -1015,8 +1100,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.
@@ -1042,7 +1127,7 @@ config BEFS_FS
        help
          The BeOS File System (BeFS) is the native file system of Be, Inc's
          BeOS. Notable features include support for arbitrary attributes
-         on files and directories, and database-like indeces on selected
+         on files and directories, and database-like indices on selected
          attributes. (Also note that this driver doesn't make those features
          available at this time). It is a 64 bit filesystem, so it supports
          extremely large volumes and files.
@@ -1060,7 +1145,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)"
@@ -1099,29 +1184,6 @@ config EFS_FS
          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
-       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/>).
-
-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
@@ -1165,6 +1227,14 @@ config JFFS2_FS_WRITEBUFFER
            - NOR flash with transparent ECC
            - DataFlash
 
+config JFFS2_FS_WBUF_VERIFY
+       bool "Verify JFFS2 write-buffer reads"
+       depends on JFFS2_FS_WRITEBUFFER
+       default n
+       help
+         This causes JFFS2 to read back every page written through the
+         write-buffer, and check for errors.
+
 config JFFS2_SUMMARY
        bool "JFFS2 summary support (EXPERIMENTAL)"
        depends on JFFS2_FS && EXPERIMENTAL
@@ -1186,7 +1256,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
@@ -1197,10 +1267,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
@@ -1212,7 +1282,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.
 
@@ -1223,7 +1293,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.
 
@@ -1235,52 +1305,71 @@ config JFFS2_ZLIB
        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.
+       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.
+         Say 'Y' if unsure.
+
+config JFFS2_LZO
+       bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS
+       select LZO_COMPRESS
+       select LZO_DECOMPRESS
+       depends on JFFS2_FS
+       default n
+       help
+         minilzo-based compression. Generally works better than Zlib.
+
+         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
        depends on JFFS2_FS
        default y
-        help
-          Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
+       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.
+       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.
+       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.
+       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.
+       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.
+       bool "size (EXPERIMENTAL)"
+       help
+         Tries all compressors and chooses the one which has the smallest
+         result.
+
+config JFFS2_CMODE_FAVOURLZO
+       bool "Favour LZO"
+       help
+         Tries all compressors and chooses the one which has the smallest
+         result but gives some preference to LZO (which has faster
+         decompression) at the expense of size.
 
 endchoice
 
@@ -1321,6 +1410,24 @@ 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 HPFS_FS
        tristate "OS/2 HPFS file system support"
@@ -1338,7 +1445,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
@@ -1365,6 +1471,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
@@ -1405,7 +1527,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
@@ -1456,8 +1577,20 @@ 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"
@@ -1566,6 +1699,8 @@ config NFSD
        select CRYPTO_MD5 if NFSD_V4
        select CRYPTO if NFSD_V4
        select FS_POSIX_ACL if NFSD_V4
+       select PROC_FS if NFSD_V4
+       select PROC_FS if SUNRPC_GSS
        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
@@ -1611,7 +1746,8 @@ config NFSD_V3_ACL
 
 config NFSD_V4
        bool "Provide NFSv4 server support (EXPERIMENTAL)"
-       depends on NFSD_V3 && EXPERIMENTAL
+       depends on NFSD && NFSD_V3 && EXPERIMENTAL
+       select RPCSEC_GSS_KRB5
        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
@@ -1634,10 +1770,10 @@ config ROOT_NFS
          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.
+         say Y. Read <file:Documentation/filesystems/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.
 
          Most people say N here.
 
@@ -1667,6 +1803,23 @@ config SUNRPC
 config SUNRPC_GSS
        tristate
 
+config SUNRPC_XPRT_RDMA
+       tristate
+       depends on SUNRPC && INFINIBAND && EXPERIMENTAL
+       default SUNRPC && INFINIBAND
+
+config SUNRPC_BIND34
+       bool "Support for rpcbind versions 3 & 4 (EXPERIMENTAL)"
+       depends on SUNRPC && EXPERIMENTAL
+       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.
+
+         If unsure, say N to get traditional behavior (version 2 rpcbind
+         requests only).
+
 config RPCSEC_GSS_KRB5
        tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
        depends on SUNRPC && EXPERIMENTAL
@@ -1674,6 +1827,7 @@ config RPCSEC_GSS_KRB5
        select CRYPTO
        select CRYPTO_MD5
        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
@@ -1692,6 +1846,7 @@ config RPCSEC_GSS_SPKM3
        select CRYPTO_MD5
        select CRYPTO_DES
        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.
@@ -1702,7 +1857,7 @@ config RPCSEC_GSS_SPKM3
          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
@@ -1725,8 +1880,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"
@@ -1758,7 +1913,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
@@ -1769,20 +1924,16 @@ 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 Windows ME and similar servers is provided as well. 
-         You must use the smbfs client filesystem to access older SMB servers
-         such as OS/2 and DOS.
-
-         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, 
-         and optional Winbind (nsswitch) integration. You do not need to enable
-         cifs if running only a (Samba) server. It is possible to enable both
-         smbfs and cifs (e.g. if you are using CIFS for accessing Windows 2003
-         and Samba 3 servers, and smbfs for accessing old servers). If you need 
-         to mount to Samba or Windows from this machine, say Y.
+         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
         bool "CIFS statistics"
@@ -1813,22 +1964,23 @@ 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_XATTR
@@ -1869,32 +2021,41 @@ 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
          help
            Enables cifs features under testing. These features are
-           experimental and currently include support for writepages
-           (multipage writebehind performance improvements) and directory
-           change notification ie fcntl(F_DNOTIFY) as well as some security
-           improvements.  Some also depend on setting at runtime 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.
+           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
-         select 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
+           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_DFS_UPCALL
+         bool "DFS feature support (EXPERIMENTAL)"
+         depends on CIFS_EXPERIMENTAL
+         depends on KEYS
+         help
+           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)"
        depends on IPX!=n || INET
@@ -1951,14 +2112,13 @@ config CODA_FS_OLD_API
          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
-# for fs/nls/Config.in
-       tristate "Andrew File System support (AFS) (Experimental)"
+       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.
@@ -1967,12 +2127,19 @@ config AFS_FS
 
          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)"
-       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.
@@ -1981,11 +2148,7 @@ config 9P_FS
 
          If unsure, say N.
 
-config GENERIC_ACL
-       bool
-       select FS_POSIX_ACL
-
-endmenu
+endif # NETWORK_FILESYSTEMS
 
 if BLOCK
 menu "Partition Types"
@@ -1999,4 +2162,3 @@ source "fs/nls/Kconfig"
 source "fs/dlm/Kconfig"
 
 endmenu
-