2005-04-17 05:20:36 +07:00
|
|
|
#
|
|
|
|
# File system configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
menu "File systems"
|
|
|
|
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
if BLOCK
|
|
|
|
|
2008-10-21 01:28:45 +07:00
|
|
|
source "fs/ext2/Kconfig"
|
|
|
|
source "fs/ext3/Kconfig"
|
|
|
|
source "fs/ext4/Kconfig"
|
2005-06-24 12:05:26 +07:00
|
|
|
|
|
|
|
config FS_XIP
|
|
|
|
# execute in place
|
|
|
|
bool
|
|
|
|
depends on EXT2_FS_XIP
|
|
|
|
default y
|
|
|
|
|
2008-10-21 01:28:45 +07:00
|
|
|
source "fs/jbd/Kconfig"
|
|
|
|
source "fs/jbd2/Kconfig"
|
2006-10-11 15:21:01 +07:00
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config FS_MBCACHE
|
2006-10-11 15:20:56 +07:00
|
|
|
# Meta block cache for Extended Attributes (ext2/ext3/ext4)
|
2005-04-17 05:20:36 +07:00
|
|
|
tristate
|
2008-08-21 06:56:22 +07:00
|
|
|
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
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2009-01-22 14:22:31 +07:00
|
|
|
source "fs/reiserfs/Kconfig"
|
2009-01-22 14:24:27 +07:00
|
|
|
source "fs/jfs/Kconfig"
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config FS_POSIX_ACL
|
2008-02-12 05:12:24 +07:00
|
|
|
# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
|
2005-04-17 05:20:36 +07:00
|
|
|
#
|
|
|
|
# NOTE: you can implement Posix ACLs without these helpers (XFS does).
|
|
|
|
# Never use this symbol for ifdefs.
|
|
|
|
#
|
|
|
|
bool
|
2005-07-08 07:56:57 +07:00
|
|
|
default n
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-08-06 20:12:22 +07:00
|
|
|
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.
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
source "fs/xfs/Kconfig"
|
2006-01-16 23:43:37 +07:00
|
|
|
source "fs/gfs2/Kconfig"
|
2009-01-22 14:26:11 +07:00
|
|
|
source "fs/ocfs2/Kconfig"
|
2009-01-22 14:27:30 +07:00
|
|
|
source "fs/btrfs/Kconfig"
|
2008-09-25 23:25:16 +07:00
|
|
|
|
2008-02-07 15:15:16 +07:00
|
|
|
endif # BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-12-18 01:59:41 +07:00
|
|
|
source "fs/notify/Kconfig"
|
[PATCH] inotify
inotify is intended to correct the deficiencies of dnotify, particularly
its inability to scale and its terrible user interface:
* dnotify requires the opening of one fd per each directory
that you intend to watch. This quickly results in too many
open files and pins removable media, preventing unmount.
* dnotify is directory-based. You only learn about changes to
directories. Sure, a change to a file in a directory affects
the directory, but you are then forced to keep a cache of
stat structures.
* dnotify's interface to user-space is awful. Signals?
inotify provides a more usable, simple, powerful solution to file change
notification:
* inotify's interface is a system call that returns a fd, not SIGIO.
You get a single fd, which is select()-able.
* inotify has an event that says "the filesystem that the item
you were watching is on was unmounted."
* inotify can watch directories or files.
Inotify is currently used by Beagle (a desktop search infrastructure),
Gamin (a FAM replacement), and other projects.
See Documentation/filesystems/inotify.txt.
Signed-off-by: Robert Love <rml@novell.com>
Cc: John McCutchan <ttb@tentacle.dhs.org>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 04:06:03 +07:00
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config QUOTA
|
|
|
|
bool "Quota support"
|
|
|
|
help
|
|
|
|
If you say Y here, you will be able to set per user limits for disk
|
|
|
|
usage (also called disk quotas). Currently, it works for the
|
|
|
|
ext2, ext3, and reiserfs file system. ext3 also supports journalled
|
|
|
|
quotas for which you don't need to run quotacheck(8) after an unclean
|
2005-09-07 05:17:22 +07:00
|
|
|
shutdown.
|
|
|
|
For further details, read the Quota mini-HOWTO, available from
|
2005-04-17 05:20:36 +07:00
|
|
|
<http://www.tldp.org/docs.html#howto>, or the documentation provided
|
|
|
|
with the quota tools. Probably the quota support is only useful for
|
|
|
|
multi user systems. If unsure, say N.
|
|
|
|
|
2007-10-17 13:29:31 +07:00
|
|
|
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.
|
|
|
|
|
2008-09-22 10:54:49 +07:00
|
|
|
# Generic support for tree structured quota files. Seleted when needed.
|
|
|
|
config QUOTA_TREE
|
|
|
|
tristate
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config QFMT_V1
|
|
|
|
tristate "Old quota format support"
|
|
|
|
depends on QUOTA
|
|
|
|
help
|
|
|
|
This quota format was (is) used by kernels earlier than 2.4.22. If
|
|
|
|
you have quota working and you don't want to convert to new quota
|
|
|
|
format say Y here.
|
|
|
|
|
|
|
|
config QFMT_V2
|
|
|
|
tristate "Quota format v2 support"
|
|
|
|
depends on QUOTA
|
2008-09-22 10:54:49 +07:00
|
|
|
select QUOTA_TREE
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
|
|
|
This quota format allows using quotas with 32-bit UIDs/GIDs. If you
|
2005-09-07 05:17:22 +07:00
|
|
|
need this functionality say Y here.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config QUOTACTL
|
|
|
|
bool
|
|
|
|
depends on XFS_QUOTA || QUOTA
|
|
|
|
default y
|
|
|
|
|
2009-01-22 14:31:56 +07:00
|
|
|
source "fs/autofs/Kconfig"
|
|
|
|
source "fs/autofs4/Kconfig"
|
2009-01-22 14:33:25 +07:00
|
|
|
source "fs/fuse/Kconfig"
|
2005-09-10 03:10:22 +07:00
|
|
|
|
2006-10-20 13:28:35 +07:00
|
|
|
config GENERIC_ACL
|
|
|
|
bool
|
|
|
|
select FS_POSIX_ACL
|
|
|
|
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
if BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
menu "CD-ROM/DVD Filesystems"
|
|
|
|
|
2009-01-22 14:35:21 +07:00
|
|
|
source "fs/isofs/Kconfig"
|
|
|
|
source "fs/udf/Kconfig"
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
endmenu
|
2008-02-07 15:15:16 +07:00
|
|
|
endif # BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
if BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
menu "DOS/FAT/NT Filesystems"
|
|
|
|
|
2009-01-22 14:37:59 +07:00
|
|
|
source "fs/fat/Kconfig"
|
2009-01-22 14:39:20 +07:00
|
|
|
source "fs/ntfs/Kconfig"
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
endmenu
|
2008-02-07 15:15:16 +07:00
|
|
|
endif # BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
menu "Pseudo filesystems"
|
|
|
|
|
2008-07-25 15:48:30 +07:00
|
|
|
source "fs/proc/Kconfig"
|
2009-01-22 14:40:58 +07:00
|
|
|
source "fs/sysfs/Kconfig"
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config TMPFS
|
|
|
|
bool "Virtual memory file system support (former shm fs)"
|
|
|
|
help
|
|
|
|
Tmpfs is a file system which keeps all files in virtual memory.
|
|
|
|
|
|
|
|
Everything in tmpfs is temporary in the sense that no files will be
|
|
|
|
created on your hard drive. The files live in memory and swap
|
|
|
|
space. If you unmount a tmpfs instance, everything stored therein is
|
|
|
|
lost.
|
|
|
|
|
|
|
|
See <file:Documentation/filesystems/tmpfs.txt> for details.
|
|
|
|
|
2006-09-29 16:01:35 +07:00
|
|
|
config TMPFS_POSIX_ACL
|
|
|
|
bool "Tmpfs POSIX Access Control Lists"
|
|
|
|
depends on TMPFS
|
|
|
|
select GENERIC_ACL
|
|
|
|
help
|
|
|
|
POSIX Access Control Lists (ACLs) support permissions for users and
|
|
|
|
groups beyond the owner/group/world scheme.
|
|
|
|
|
|
|
|
To learn more about Access Control Lists, visit the POSIX ACLs for
|
|
|
|
Linux website <http://acl.bestbits.at/>.
|
|
|
|
|
|
|
|
If you don't know what Access Control Lists are, say N.
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config HUGETLBFS
|
|
|
|
bool "HugeTLB file system support"
|
2008-04-30 18:38:46 +07:00
|
|
|
depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
|
|
|
|
(S390 && 64BIT) || BROKEN
|
2006-04-19 12:20:57 +07:00
|
|
|
help
|
|
|
|
hugetlbfs is a filesystem backing for HugeTLB pages, based on
|
|
|
|
ramfs. For architectures that support it, say Y here and read
|
|
|
|
<file:Documentation/vm/hugetlbpage.txt> for details.
|
|
|
|
|
|
|
|
If unsure, say N.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config HUGETLB_PAGE
|
|
|
|
def_bool HUGETLBFS
|
|
|
|
|
2009-01-22 14:42:52 +07:00
|
|
|
source "fs/configfs/Kconfig"
|
2005-12-16 05:29:43 +07:00
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
endmenu
|
|
|
|
|
2009-01-07 05:40:57 +07:00
|
|
|
menuconfig MISC_FILESYSTEMS
|
|
|
|
bool "Miscellaneous filesystems"
|
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
Say Y here to get to see options for various miscellaneous
|
|
|
|
filesystems, such as filesystems that came from other
|
|
|
|
operating systems.
|
|
|
|
|
|
|
|
This option alone does not add any kernel code.
|
|
|
|
|
|
|
|
If you say N, all options in this submenu will be skipped and
|
|
|
|
disabled; if unsure, say Y here.
|
|
|
|
|
|
|
|
if MISC_FILESYSTEMS
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2009-01-22 14:48:46 +07:00
|
|
|
source "fs/adfs/Kconfig"
|
2009-01-22 14:49:44 +07:00
|
|
|
source "fs/affs/Kconfig"
|
2009-01-22 14:50:50 +07:00
|
|
|
source "fs/ecryptfs/Kconfig"
|
2009-01-22 14:53:24 +07:00
|
|
|
source "fs/hfs/Kconfig"
|
|
|
|
source "fs/hfsplus/Kconfig"
|
2009-01-22 14:54:16 +07:00
|
|
|
source "fs/befs/Kconfig"
|
2009-01-22 14:55:13 +07:00
|
|
|
source "fs/bfs/Kconfig"
|
2009-01-22 14:56:07 +07:00
|
|
|
source "fs/efs/Kconfig"
|
2008-08-29 10:19:50 +07:00
|
|
|
source "fs/jffs2/Kconfig"
|
2008-07-14 23:08:38 +07:00
|
|
|
# UBIFS File system configuration
|
|
|
|
source "fs/ubifs/Kconfig"
|
2009-01-22 14:56:54 +07:00
|
|
|
source "fs/cramfs/Kconfig"
|
2009-01-22 14:57:46 +07:00
|
|
|
source "fs/squashfs/Kconfig"
|
2009-01-22 14:58:51 +07:00
|
|
|
source "fs/freevxfs/Kconfig"
|
2009-01-22 14:59:49 +07:00
|
|
|
source "fs/minix/Kconfig"
|
2008-02-07 15:15:16 +07:00
|
|
|
|
2008-07-26 09:45:17 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config HPFS_FS
|
|
|
|
tristate "OS/2 HPFS file system support"
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
depends on BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
|
|
|
OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
|
|
|
|
is the file system used for organizing files on OS/2 hard disk
|
|
|
|
partitions. Say Y if you want to be able to read files from and
|
|
|
|
write files to an OS/2 HPFS partition on your hard drive. OS/2
|
|
|
|
floppies however are in regular MSDOS format, so you don't need this
|
|
|
|
option in order to be able to read them. Read
|
|
|
|
<file:Documentation/filesystems/hpfs.txt>.
|
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called hpfs. If unsure, say N.
|
|
|
|
|
|
|
|
|
|
|
|
config QNX4FS_FS
|
|
|
|
tristate "QNX4 file system support (read only)"
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
depends on BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
|
|
|
This is the file system used by the real-time operating systems
|
|
|
|
QNX 4 and QNX 6 (the latter is also called QNX RTP).
|
|
|
|
Further information is available at <http://www.qnx.com/>.
|
|
|
|
Say Y if you intend to mount QNX hard disks or floppies.
|
|
|
|
Unless you say Y to "QNX4FS read-write support" below, you will
|
|
|
|
only be able to read these file systems.
|
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called qnx4.
|
|
|
|
|
|
|
|
If you don't know whether you need it, then you don't need it:
|
|
|
|
answer N.
|
|
|
|
|
|
|
|
config QNX4FS_RW
|
|
|
|
bool "QNX4FS write support (DANGEROUS)"
|
|
|
|
depends on QNX4FS_FS && EXPERIMENTAL && BROKEN
|
|
|
|
help
|
|
|
|
Say Y if you want to test write support for QNX4 file systems.
|
|
|
|
|
|
|
|
It's currently broken, so for now:
|
|
|
|
answer N.
|
|
|
|
|
2008-02-07 15:15:16 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
|
|
|
|
config SYSV_FS
|
|
|
|
tristate "System V/Xenix/V7/Coherent file system support"
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
depends on BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
|
|
|
SCO, Xenix and Coherent are commercial Unix systems for Intel
|
|
|
|
machines, and Version 7 was used on the DEC PDP-11. Saying Y
|
|
|
|
here would allow you to read from their floppies and hard disk
|
|
|
|
partitions.
|
|
|
|
|
|
|
|
If you have floppies or hard disk partitions like that, it is likely
|
|
|
|
that they contain binaries from those other Unix systems; in order
|
2006-10-04 03:36:44 +07:00
|
|
|
to run these binaries, you will want to install linux-abi which is
|
2005-04-17 05:20:36 +07:00
|
|
|
a set of kernel modules that lets you run SCO, Xenix, Wyse,
|
|
|
|
UnixWare, Dell Unix and System V programs under Linux. It is
|
|
|
|
available via FTP (user: ftp) from
|
|
|
|
<ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
|
|
|
|
NOTE: that will work only for binaries from Intel-based systems;
|
|
|
|
PDP ones will have to wait until somebody ports Linux to -11 ;-)
|
|
|
|
|
|
|
|
If you only intend to mount files from some other Unix over the
|
|
|
|
network using NFS, you don't need the System V 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
|
|
|
|
tar" or preferably "info tar"). Note also that this option has
|
|
|
|
nothing whatsoever to do with the option "System V IPC". Read about
|
|
|
|
the System V file system in
|
|
|
|
<file:Documentation/filesystems/sysv-fs.txt>.
|
|
|
|
Saying Y here will enlarge your kernel by about 27 KB.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be called
|
|
|
|
sysv.
|
|
|
|
|
|
|
|
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)"
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
depends on BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
|
|
|
BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
|
|
|
|
OpenBSD and NeXTstep) use a file system called UFS. Some System V
|
|
|
|
Unixes can create and mount hard disk partitions and diskettes using
|
|
|
|
this file system as well. Saying Y here will allow you to read from
|
|
|
|
these partitions; if you also want to write to them, say Y to the
|
|
|
|
experimental "UFS file system write support", below. Please read the
|
|
|
|
file <file:Documentation/filesystems/ufs.txt> for more information.
|
|
|
|
|
|
|
|
The recently released UFS2 variant (used in FreeBSD 5.x) is
|
|
|
|
READ-ONLY supported.
|
|
|
|
|
|
|
|
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
|
|
|
|
tar" or preferably "info tar").
|
|
|
|
|
|
|
|
When accessing NeXTstep files, you may need to convert them from the
|
|
|
|
NeXT character set to the Latin1 character set; use the program
|
|
|
|
recode ("info recode") for this purpose.
|
|
|
|
|
|
|
|
To compile the UFS file system support as a module, choose M here: the
|
|
|
|
module will be called ufs.
|
|
|
|
|
|
|
|
If you haven't heard about all of this before, it's safe to say N.
|
|
|
|
|
|
|
|
config UFS_FS_WRITE
|
|
|
|
bool "UFS file system write support (DANGEROUS)"
|
2006-06-25 19:47:24 +07:00
|
|
|
depends on UFS_FS && EXPERIMENTAL
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
|
|
|
Say Y here if you want to try writing to UFS partitions. This is
|
|
|
|
experimental, so you should back up your UFS partitions beforehand.
|
|
|
|
|
2006-06-25 19:47:24 +07:00
|
|
|
config UFS_DEBUG
|
|
|
|
bool "UFS debugging"
|
|
|
|
depends on UFS_FS
|
|
|
|
help
|
|
|
|
If you are experiencing any problems with the UFS filesystem, say
|
|
|
|
Y here. This will result in _many_ additional debugging messages to be
|
|
|
|
written to the system log.
|
|
|
|
|
2009-01-07 05:40:57 +07:00
|
|
|
endif # MISC_FILESYSTEMS
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2007-10-17 13:30:16 +07:00
|
|
|
menuconfig NETWORK_FILESYSTEMS
|
|
|
|
bool "Network File Systems"
|
|
|
|
default y
|
2005-04-17 05:20:36 +07:00
|
|
|
depends on NET
|
2007-10-17 13:30:16 +07:00
|
|
|
---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.
|
2008-05-22 04:09:04 +07:00
|
|
|
|
2007-10-17 13:30:16 +07:00
|
|
|
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
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config NFS_FS
|
2008-05-22 04:09:04 +07:00
|
|
|
tristate "NFS client support"
|
2005-04-17 05:20:36 +07:00
|
|
|
depends on INET
|
|
|
|
select LOCKD
|
|
|
|
select SUNRPC
|
2005-06-23 00:16:27 +07:00
|
|
|
select NFS_ACL_SUPPORT if NFS_V3_ACL
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
2008-05-22 04:09:04 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-05-22 04:09:04 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-05-22 04:09:04 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-05-22 04:09:04 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-05-22 04:09:04 +07:00
|
|
|
If unsure, say N.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config NFS_V3
|
2008-05-22 04:09:04 +07:00
|
|
|
bool "NFS client support for NFS version 3"
|
2005-04-17 05:20:36 +07:00
|
|
|
depends on NFS_FS
|
|
|
|
help
|
2008-05-22 04:09:04 +07:00
|
|
|
This option enables support for version 3 of the NFS protocol
|
|
|
|
(RFC 1813) in the kernel's NFS client.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
2005-06-23 00:16:27 +07:00
|
|
|
config NFS_V3_ACL
|
2008-05-22 04:09:04 +07:00
|
|
|
bool "NFS client support for the NFSv3 ACL protocol extension"
|
2005-06-23 00:16:27 +07:00
|
|
|
depends on NFS_V3
|
|
|
|
help
|
2008-05-22 04:09:04 +07:00
|
|
|
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.
|
2005-06-23 00:16:27 +07:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config NFS_V4
|
2008-05-22 04:09:04 +07:00
|
|
|
bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
|
2005-04-17 05:20:36 +07:00
|
|
|
depends on NFS_FS && EXPERIMENTAL
|
|
|
|
select RPCSEC_GSS_KRB5
|
|
|
|
help
|
2008-05-22 04:09:04 +07:00
|
|
|
This option enables support for version 4 of the NFS protocol
|
|
|
|
(RFC 3530) in the kernel's NFS client.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-05-22 04:09:04 +07:00
|
|
|
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/.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2008-05-22 04:09:04 +07:00
|
|
|
config ROOT_NFS
|
|
|
|
bool "Root file system on NFS"
|
|
|
|
depends on NFS_FS=y && IP_PNP
|
|
|
|
help
|
|
|
|
If you want your system to mount its root file system via NFS,
|
|
|
|
choose Y here. This is common practice for managing systems
|
|
|
|
without local permanent storage. For details, read
|
|
|
|
<file:Documentation/filesystems/nfsroot.txt>.
|
|
|
|
|
|
|
|
Most people say N here.
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config NFSD
|
|
|
|
tristate "NFS server support"
|
|
|
|
depends on INET
|
|
|
|
select LOCKD
|
|
|
|
select SUNRPC
|
|
|
|
select EXPORTFS
|
2006-06-26 14:25:39 +07:00
|
|
|
select NFS_ACL_SUPPORT if NFSD_V2_ACL
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
2008-02-12 05:11:54 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-02-12 05:11:54 +07:00
|
|
|
You may choose to use a user-space NFS server instead, in which
|
|
|
|
case you can choose N here.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-02-12 05:11:54 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-02-12 05:11:54 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-02-12 05:11:54 +07:00
|
|
|
If unsure, say N.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2005-06-23 00:16:26 +07:00
|
|
|
config NFSD_V2_ACL
|
|
|
|
bool
|
|
|
|
depends on NFSD
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config NFSD_V3
|
2008-02-12 05:11:54 +07:00
|
|
|
bool "NFS server support for NFS version 3"
|
2005-04-17 05:20:36 +07:00
|
|
|
depends on NFSD
|
|
|
|
help
|
2008-02-12 05:11:54 +07:00
|
|
|
This option enables support in your system's NFS server for
|
|
|
|
version 3 of the NFS protocol (RFC 1813).
|
|
|
|
|
|
|
|
If unsure, say Y.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2005-06-23 00:16:26 +07:00
|
|
|
config NFSD_V3_ACL
|
2008-02-12 05:11:54 +07:00
|
|
|
bool "NFS server support for the NFSv3 ACL protocol extension"
|
2005-06-23 00:16:26 +07:00
|
|
|
depends on NFSD_V3
|
2008-02-12 05:12:31 +07:00
|
|
|
select NFSD_V2_ACL
|
2005-06-23 00:16:26 +07:00
|
|
|
help
|
2008-02-12 05:11:54 +07:00
|
|
|
Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
|
|
|
|
never became an official part of the NFS version 3 protocol.
|
|
|
|
This protocol extension allows applications on NFS clients to
|
|
|
|
manipulate POSIX Access Control Lists on files residing on NFS
|
|
|
|
servers. NFS servers enforce POSIX ACLs on local files whether
|
|
|
|
this protocol is available or not.
|
|
|
|
|
|
|
|
This option enables support in your system's NFS server for the
|
|
|
|
NFSv3 ACL protocol extension allowing NFS clients to manipulate
|
|
|
|
POSIX ACLs on files exported by your system's NFS server. NFS
|
|
|
|
clients which support the Solaris NFSv3 ACL protocol can then
|
|
|
|
access and modify ACLs on your NFS server.
|
|
|
|
|
|
|
|
To store ACLs on your NFS server, you also need to enable ACL-
|
|
|
|
related CONFIG options for your local file systems of choice.
|
|
|
|
|
|
|
|
If unsure, say N.
|
2005-06-23 00:16:26 +07:00
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config NFSD_V4
|
2008-02-12 05:11:54 +07:00
|
|
|
bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
|
2008-03-28 03:34:54 +07:00
|
|
|
depends on NFSD && PROC_FS && EXPERIMENTAL
|
|
|
|
select NFSD_V3
|
2008-02-12 05:12:24 +07:00
|
|
|
select FS_POSIX_ACL
|
2007-07-17 18:04:41 +07:00
|
|
|
select RPCSEC_GSS_KRB5
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
2008-02-12 05:11:54 +07:00
|
|
|
This option enables support in your system's NFS server for
|
|
|
|
version 4 of the NFS protocol (RFC 3530).
|
|
|
|
|
|
|
|
To export files using NFSv4, you need to install additional user
|
|
|
|
space programs which can be found in the Linux nfs-utils package,
|
|
|
|
available from http://linux-nfs.org/.
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config LOCKD
|
|
|
|
tristate
|
|
|
|
|
|
|
|
config LOCKD_V4
|
|
|
|
bool
|
|
|
|
depends on NFSD_V3 || NFS_V3
|
|
|
|
default y
|
|
|
|
|
|
|
|
config EXPORTFS
|
|
|
|
tristate
|
|
|
|
|
2005-06-23 00:16:26 +07:00
|
|
|
config NFS_ACL_SUPPORT
|
|
|
|
tristate
|
|
|
|
select FS_POSIX_ACL
|
|
|
|
|
|
|
|
config NFS_COMMON
|
|
|
|
bool
|
|
|
|
depends on NFSD || NFS_FS
|
|
|
|
default y
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config SUNRPC
|
|
|
|
tristate
|
|
|
|
|
|
|
|
config SUNRPC_GSS
|
|
|
|
tristate
|
|
|
|
|
2007-09-11 00:49:15 +07:00
|
|
|
config SUNRPC_XPRT_RDMA
|
2008-01-29 00:09:28 +07:00
|
|
|
tristate
|
2007-09-21 04:37:58 +07:00
|
|
|
depends on SUNRPC && INFINIBAND && EXPERIMENTAL
|
2008-01-29 00:09:28 +07:00
|
|
|
default SUNRPC && INFINIBAND
|
2008-03-15 01:15:11 +07:00
|
|
|
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.
|
2007-09-11 00:49:15 +07:00
|
|
|
|
2008-08-19 06:34:16 +07:00
|
|
|
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.
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config RPCSEC_GSS_KRB5
|
|
|
|
tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
|
|
|
|
depends on SUNRPC && EXPERIMENTAL
|
|
|
|
select SUNRPC_GSS
|
|
|
|
select CRYPTO
|
|
|
|
select CRYPTO_MD5
|
|
|
|
select CRYPTO_DES
|
2006-10-25 13:49:36 +07:00
|
|
|
select CRYPTO_CBC
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
2008-03-15 01:15:11 +07:00
|
|
|
Choose Y here to enable Secure RPC using the Kerberos version 5
|
|
|
|
GSS-API mechanism (RFC 1964).
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-03-15 01:15:11 +07:00
|
|
|
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.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config RPCSEC_GSS_SPKM3
|
|
|
|
tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
|
|
|
|
depends on SUNRPC && EXPERIMENTAL
|
|
|
|
select SUNRPC_GSS
|
|
|
|
select CRYPTO
|
|
|
|
select CRYPTO_MD5
|
|
|
|
select CRYPTO_DES
|
2006-03-21 11:25:10 +07:00
|
|
|
select CRYPTO_CAST5
|
2006-10-25 13:49:36 +07:00
|
|
|
select CRYPTO_CBC
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
2008-03-15 01:15:11 +07:00
|
|
|
Choose Y here to enable Secure RPC using the SPKM3 public key
|
|
|
|
GSS-API mechansim (RFC 2025).
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2008-03-15 01:15:11 +07:00
|
|
|
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/.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config SMB_FS
|
2008-02-06 05:22:58 +07:00
|
|
|
tristate "SMB file system support (OBSOLETE, please use CIFS)"
|
2005-04-17 05:20:36 +07:00
|
|
|
depends on INET
|
|
|
|
select NLS
|
|
|
|
help
|
|
|
|
SMB (Server Message Block) is the protocol Windows for Workgroups
|
|
|
|
(WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
|
|
|
|
files and printers over local networks. Saying Y here allows you to
|
|
|
|
mount their file systems (often called "shares" in this context) and
|
|
|
|
access them just like any other Unix directory. Currently, this
|
|
|
|
works only if the Windows machines use TCP/IP as the underlying
|
|
|
|
transport protocol, and not NetBEUI. For details, read
|
|
|
|
<file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
|
|
|
|
available from <http://www.tldp.org/docs.html#howto>.
|
|
|
|
|
|
|
|
Note: if you just want your box to act as an SMB *server* and make
|
|
|
|
files and printing services available to Windows clients (which need
|
|
|
|
to have a TCP/IP stack), you don't need to say Y here; you can use
|
|
|
|
the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
|
|
|
|
for that.
|
|
|
|
|
|
|
|
General information about how to connect Linux, Windows machines and
|
|
|
|
Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
|
|
|
|
|
2008-02-06 05:22:58 +07:00
|
|
|
To compile the SMB support as a module, choose M here:
|
|
|
|
the module will be called smbfs. Most people say N, however.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
config SMB_NLS_DEFAULT
|
|
|
|
bool "Use a default NLS"
|
|
|
|
depends on SMB_FS
|
|
|
|
help
|
|
|
|
Enabling this will make smbfs use nls translations by default. You
|
|
|
|
need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
|
|
|
|
settings and you need to give the default nls for the SMB server as
|
|
|
|
CONFIG_SMB_NLS_REMOTE.
|
|
|
|
|
|
|
|
The nls settings can be changed at mount time, if your smbmount
|
|
|
|
supports that, using the codepage and iocharset parameters.
|
|
|
|
|
|
|
|
smbmount from samba 2.2.0 or later supports this.
|
|
|
|
|
|
|
|
config SMB_NLS_REMOTE
|
|
|
|
string "Default Remote NLS Option"
|
|
|
|
depends on SMB_NLS_DEFAULT
|
|
|
|
default "cp437"
|
|
|
|
help
|
|
|
|
This setting allows you to specify a default value for which
|
|
|
|
codepage the server uses. If this field is left blank no
|
|
|
|
translations will be done by default. The local codepage/charset
|
|
|
|
default to CONFIG_NLS_DEFAULT.
|
|
|
|
|
|
|
|
The nls settings can be changed at mount time, if your smbmount
|
|
|
|
supports that, using the codepage and iocharset parameters.
|
|
|
|
|
|
|
|
smbmount from samba 2.2.0 or later supports this.
|
|
|
|
|
2008-10-19 10:28:49 +07:00
|
|
|
source "fs/cifs/Kconfig"
|
2008-01-09 23:21:36 +07:00
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
config NCP_FS
|
|
|
|
tristate "NCP file system support (to mount NetWare volumes)"
|
|
|
|
depends on IPX!=n || INET
|
|
|
|
help
|
|
|
|
NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
|
|
|
|
used by Novell NetWare clients to talk to file servers. It is to
|
|
|
|
IPX what NFS is to TCP/IP, if that helps. Saying Y here allows you
|
|
|
|
to mount NetWare file server volumes and to access them just like
|
|
|
|
any other Unix directory. For details, please read the file
|
|
|
|
<file:Documentation/filesystems/ncpfs.txt> in the kernel source and
|
|
|
|
the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.
|
|
|
|
|
|
|
|
You do not have to say Y here if you want your Linux box to act as a
|
|
|
|
file *server* for Novell NetWare clients.
|
|
|
|
|
|
|
|
General information about how to connect Linux, Windows machines and
|
|
|
|
Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be called
|
|
|
|
ncpfs. Say N unless you are connected to a Novell network.
|
|
|
|
|
|
|
|
source "fs/ncpfs/Kconfig"
|
|
|
|
|
|
|
|
config CODA_FS
|
|
|
|
tristate "Coda file system support (advanced network fs)"
|
|
|
|
depends on INET
|
|
|
|
help
|
|
|
|
Coda is an advanced network file system, similar to NFS in that it
|
|
|
|
enables you to mount file systems of a remote server and access them
|
|
|
|
with regular Unix commands as if they were sitting on your hard
|
|
|
|
disk. Coda has several advantages over NFS: support for
|
|
|
|
disconnected operation (e.g. for laptops), read/write server
|
|
|
|
replication, security model for authentication and encryption,
|
|
|
|
persistent client caches and write back caching.
|
|
|
|
|
|
|
|
If you say Y here, your Linux box will be able to act as a Coda
|
|
|
|
*client*. You will need user level code as well, both for the
|
|
|
|
client and server. Servers are currently user level, i.e. they need
|
|
|
|
no kernel support. Please read
|
|
|
|
<file:Documentation/filesystems/coda.txt> and check out the Coda
|
|
|
|
home page <http://www.coda.cs.cmu.edu/>.
|
|
|
|
|
|
|
|
To compile the coda client support as a module, choose M here: the
|
|
|
|
module will be called coda.
|
|
|
|
|
|
|
|
config AFS_FS
|
2006-11-16 16:19:27 +07:00
|
|
|
tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
|
2005-04-17 05:20:36 +07:00
|
|
|
depends on INET && EXPERIMENTAL
|
2007-04-27 05:55:03 +07:00
|
|
|
select AF_RXRPC
|
2005-04-17 05:20:36 +07:00
|
|
|
help
|
|
|
|
If you say Y here, you will get an experimental Andrew File System
|
|
|
|
driver. It currently only supports unsecured read-only AFS access.
|
|
|
|
|
2006-10-04 03:22:29 +07:00
|
|
|
See <file:Documentation/filesystems/afs.txt> for more information.
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2007-04-27 05:55:03 +07:00
|
|
|
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.
|
|
|
|
|
[PATCH] v9fs: Documentation, Makefiles, Configuration
OVERVIEW
V9FS is a distributed file system for Linux which provides an
implementation of the Plan 9 resource sharing protocol 9P. It can be
used to share all sorts of resources: static files, synthetic file servers
(such as /proc or /sys), devices, and application file servers (such as
FUSE).
BACKGROUND
Plan 9 (http://plan9.bell-labs.com/plan9) is a research operating
system and associated applications suite developed by the Computing
Science Research Center of AT&T Bell Laboratories (now a part of
Lucent Technologies), the same group that developed UNIX , C, and C++.
Plan 9 was initially released in 1993 to universities, and then made
generally available in 1995. Its core operating systems code laid the
foundation for the Inferno Operating System released as a product by
Lucent Bell-Labs in 1997. The Inferno venture was the only commercial
embodiment of Plan 9 and is currently maintained as a product by Vita
Nuova (http://www.vitanuova.com). After updated releases in 2000 and
2002, Plan 9 was open-sourced under the OSI approved Lucent Public
License in 2003.
The Plan 9 project was started by Ken Thompson and Rob Pike in 1985.
Their intent was to explore potential solutions to some of the
shortcomings of UNIX in the face of the widespread use of high-speed
networks to connect machines. In UNIX, networking was an afterthought
and UNIX clusters became little more than a network of stand-alone
systems. Plan 9 was designed from first principles as a seamless
distributed system with integrated secure network resource sharing.
Applications and services were architected in such a way as to allow
for implicit distribution across a cluster of systems. Configuring an
environment to use remote application components or services in place
of their local equivalent could be achieved with a few simple command
line instructions. For the most part, application implementations
operated independent of the location of their actual resources.
Commercial operating systems haven't changed much in the 20 years
since Plan 9 was conceived. Network and distributed systems support is
provided by a patchwork of middle-ware, with an endless number of
packages supplying pieces of the puzzle. Matters are complicated by
the use of different complicated protocols for individual services,
and separate implementations for kernel and application resources.
The V9FS project (http://v9fs.sourceforge.net) is an attempt to bring
Plan 9's unified approach to resource sharing to Linux and other
operating systems via support for the 9P2000 resource sharing
protocol.
V9FS HISTORY
V9FS was originally developed by Ron Minnich and Maya Gokhale at Los
Alamos National Labs (LANL) in 1997. In November of 2001, Greg Watson
setup a SourceForge project as a public repository for the code which
supported the Linux 2.4 kernel.
About a year ago, I picked up the initial attempt Ron Minnich had
made to provide 2.6 support and got the code integrated into a 2.6.5
kernel. I then went through a line-for-line re-write attempting to
clean-up the code while more closely following the Linux Kernel style
guidelines. I co-authored a paper with Ron Minnich on the V9FS Linux
support including performance comparisons to NFSv3 using Bonnie and
PostMark - this paper appeared at the USENIX/FREENIX 2005
conference in April 2005:
( http://www.usenix.org/events/usenix05/tech/freenix/hensbergen.html ).
CALL FOR PARTICIPATION/REQUEST FOR COMMENTS
Our 2.6 kernel support is stabilizing and we'd like to begin pursuing
its integration into the official kernel tree. We would appreciate any
review, comments, critiques, and additions from this community and are
actively seeking people to join our project and help us produce
something that would be acceptable and useful to the Linux community.
STATUS
The code is reasonably stable, although there are no doubt corner cases
our regression tests haven't discovered yet. It is in regular use by several
of the developers and has been tested on x86 and PowerPC
(32-bit and 64-bit) in both small and large (LANL cluster) deployments.
Our current regression tests include fsx, bonnie, and postmark.
It was our intention to keep things as simple as possible for this
release -- trying to focus on correctness within the core of the
protocol support versus a rich set of features. For example: a more
complete security model and cache layer are in the road map, but
excluded from this release. Additionally, we have removed support for
mmap operations at Al Viro's request.
PERFORMANCE
Detailed performance numbers and analysis are included in the FREENIX
paper, but we show comparable performance to NFSv3 for large file
operations based on the Bonnie benchmark, and superior performance for
many small file operations based on the PostMark benchmark. Somewhat
preliminary graphs (from the FREENIX paper) are available
(http://v9fs.sourceforge.net/perf/index.html).
RESOURCES
The source code is available in a few different forms:
tarballs: http://v9fs.sf.net
CVSweb: http://cvs.sourceforge.net/viewcvs.py/v9fs/linux-9p/
CVS: :pserver:anonymous@cvs.sourceforge.net:/cvsroot/v9fs/linux-9p
Git: rsync://v9fs.graverobber.org/v9fs (webgit: http://v9fs.graverobber.org)
9P: tcp!v9fs.graverobber.org!6564
The user-level server is available from either the Plan 9 distribution
or from http://v9fs.sf.net
Other support applications are still being developed, but preliminary
version can be downloaded from sourceforge.
Documentation on the protocol has historically been the Plan 9 Man
pages (http://plan9.bell-labs.com/sys/man/5/INDEX.html), but there is
an effort under way to write a more complete Internet-Draft style
specification (http://v9fs.sf.net/rfc).
There are a couple of mailing lists supporting v9fs, but the most used
is v9fs-developer@lists.sourceforge.net -- please direct/cc your
comments there so the other v9fs contibutors can participate in the
conversation. There is also an IRC channel: irc://freenode.net/#v9fs
This part of the patch contains Documentation, Makefiles, and configuration
file changes.
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-10 03:04:18 +07:00
|
|
|
config 9P_FS
|
|
|
|
tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
|
2007-07-11 05:57:28 +07:00
|
|
|
depends on INET && NET_9P && EXPERIMENTAL
|
[PATCH] v9fs: Documentation, Makefiles, Configuration
OVERVIEW
V9FS is a distributed file system for Linux which provides an
implementation of the Plan 9 resource sharing protocol 9P. It can be
used to share all sorts of resources: static files, synthetic file servers
(such as /proc or /sys), devices, and application file servers (such as
FUSE).
BACKGROUND
Plan 9 (http://plan9.bell-labs.com/plan9) is a research operating
system and associated applications suite developed by the Computing
Science Research Center of AT&T Bell Laboratories (now a part of
Lucent Technologies), the same group that developed UNIX , C, and C++.
Plan 9 was initially released in 1993 to universities, and then made
generally available in 1995. Its core operating systems code laid the
foundation for the Inferno Operating System released as a product by
Lucent Bell-Labs in 1997. The Inferno venture was the only commercial
embodiment of Plan 9 and is currently maintained as a product by Vita
Nuova (http://www.vitanuova.com). After updated releases in 2000 and
2002, Plan 9 was open-sourced under the OSI approved Lucent Public
License in 2003.
The Plan 9 project was started by Ken Thompson and Rob Pike in 1985.
Their intent was to explore potential solutions to some of the
shortcomings of UNIX in the face of the widespread use of high-speed
networks to connect machines. In UNIX, networking was an afterthought
and UNIX clusters became little more than a network of stand-alone
systems. Plan 9 was designed from first principles as a seamless
distributed system with integrated secure network resource sharing.
Applications and services were architected in such a way as to allow
for implicit distribution across a cluster of systems. Configuring an
environment to use remote application components or services in place
of their local equivalent could be achieved with a few simple command
line instructions. For the most part, application implementations
operated independent of the location of their actual resources.
Commercial operating systems haven't changed much in the 20 years
since Plan 9 was conceived. Network and distributed systems support is
provided by a patchwork of middle-ware, with an endless number of
packages supplying pieces of the puzzle. Matters are complicated by
the use of different complicated protocols for individual services,
and separate implementations for kernel and application resources.
The V9FS project (http://v9fs.sourceforge.net) is an attempt to bring
Plan 9's unified approach to resource sharing to Linux and other
operating systems via support for the 9P2000 resource sharing
protocol.
V9FS HISTORY
V9FS was originally developed by Ron Minnich and Maya Gokhale at Los
Alamos National Labs (LANL) in 1997. In November of 2001, Greg Watson
setup a SourceForge project as a public repository for the code which
supported the Linux 2.4 kernel.
About a year ago, I picked up the initial attempt Ron Minnich had
made to provide 2.6 support and got the code integrated into a 2.6.5
kernel. I then went through a line-for-line re-write attempting to
clean-up the code while more closely following the Linux Kernel style
guidelines. I co-authored a paper with Ron Minnich on the V9FS Linux
support including performance comparisons to NFSv3 using Bonnie and
PostMark - this paper appeared at the USENIX/FREENIX 2005
conference in April 2005:
( http://www.usenix.org/events/usenix05/tech/freenix/hensbergen.html ).
CALL FOR PARTICIPATION/REQUEST FOR COMMENTS
Our 2.6 kernel support is stabilizing and we'd like to begin pursuing
its integration into the official kernel tree. We would appreciate any
review, comments, critiques, and additions from this community and are
actively seeking people to join our project and help us produce
something that would be acceptable and useful to the Linux community.
STATUS
The code is reasonably stable, although there are no doubt corner cases
our regression tests haven't discovered yet. It is in regular use by several
of the developers and has been tested on x86 and PowerPC
(32-bit and 64-bit) in both small and large (LANL cluster) deployments.
Our current regression tests include fsx, bonnie, and postmark.
It was our intention to keep things as simple as possible for this
release -- trying to focus on correctness within the core of the
protocol support versus a rich set of features. For example: a more
complete security model and cache layer are in the road map, but
excluded from this release. Additionally, we have removed support for
mmap operations at Al Viro's request.
PERFORMANCE
Detailed performance numbers and analysis are included in the FREENIX
paper, but we show comparable performance to NFSv3 for large file
operations based on the Bonnie benchmark, and superior performance for
many small file operations based on the PostMark benchmark. Somewhat
preliminary graphs (from the FREENIX paper) are available
(http://v9fs.sourceforge.net/perf/index.html).
RESOURCES
The source code is available in a few different forms:
tarballs: http://v9fs.sf.net
CVSweb: http://cvs.sourceforge.net/viewcvs.py/v9fs/linux-9p/
CVS: :pserver:anonymous@cvs.sourceforge.net:/cvsroot/v9fs/linux-9p
Git: rsync://v9fs.graverobber.org/v9fs (webgit: http://v9fs.graverobber.org)
9P: tcp!v9fs.graverobber.org!6564
The user-level server is available from either the Plan 9 distribution
or from http://v9fs.sf.net
Other support applications are still being developed, but preliminary
version can be downloaded from sourceforge.
Documentation on the protocol has historically been the Plan 9 Man
pages (http://plan9.bell-labs.com/sys/man/5/INDEX.html), but there is
an effort under way to write a more complete Internet-Draft style
specification (http://v9fs.sf.net/rfc).
There are a couple of mailing lists supporting v9fs, but the most used
is v9fs-developer@lists.sourceforge.net -- please direct/cc your
comments there so the other v9fs contibutors can participate in the
conversation. There is also an IRC channel: irc://freenode.net/#v9fs
This part of the patch contains Documentation, Makefiles, and configuration
file changes.
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-10 03:04:18 +07:00
|
|
|
help
|
|
|
|
If you say Y here, you will get experimental support for
|
|
|
|
Plan 9 resource sharing via the 9P2000 protocol.
|
|
|
|
|
|
|
|
See <http://v9fs.sf.net> for more information.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2007-10-17 13:30:16 +07:00
|
|
|
endif # NETWORK_FILESYSTEMS
|
2005-04-17 05:20:36 +07:00
|
|
|
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
if BLOCK
|
2005-04-17 05:20:36 +07:00
|
|
|
menu "Partition Types"
|
|
|
|
|
|
|
|
source "fs/partitions/Kconfig"
|
|
|
|
|
|
|
|
endmenu
|
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer. Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
(*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
support.
(*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
an item that uses the block layer. This includes:
(*) Block I/O tracing.
(*) Disk partition code.
(*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
(*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
block layer to do scheduling. Some drivers that use SCSI facilities -
such as USB storage - end up disabled indirectly from this.
(*) Various block-based device drivers, such as IDE and the old CDROM
drivers.
(*) MTD blockdev handling and FTL.
(*) JFFS - which uses set_bdev_super(), something it could avoid doing by
taking a leaf out of JFFS2's book.
(*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
however, still used in places, and so is still available.
(*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
parts of linux/fs.h.
(*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
(*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
(*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
is not enabled.
(*) fs/no-block.c is created to hold out-of-line stubs and things that are
required when CONFIG_BLOCK is not set:
(*) Default blockdev file operations (to give error ENODEV on opening).
(*) Makes some /proc changes:
(*) /proc/devices does not list any blockdevs.
(*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
(*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
(*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
given command other than Q_SYNC or if a special device is specified.
(*) In init/do_mounts.c, no reference is made to the blockdev routines if
CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.
(*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
error ENOSYS by way of cond_syscall if so).
(*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-10-01 01:45:40 +07:00
|
|
|
endif
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
source "fs/nls/Kconfig"
|
2006-01-18 16:30:29 +07:00
|
|
|
source "fs/dlm/Kconfig"
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
endmenu
|