2005-04-17 06:20:36 +08: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 02:45:40 +08:00
|
|
|
if BLOCK
|
|
|
|
|
2008-10-21 02:28:45 +08:00
|
|
|
source "fs/ext2/Kconfig"
|
|
|
|
source "fs/ext3/Kconfig"
|
|
|
|
source "fs/ext4/Kconfig"
|
2005-06-24 13:05:26 +08:00
|
|
|
|
|
|
|
config FS_XIP
|
|
|
|
# execute in place
|
|
|
|
bool
|
|
|
|
depends on EXT2_FS_XIP
|
|
|
|
default y
|
|
|
|
|
2008-10-21 02:28:45 +08:00
|
|
|
source "fs/jbd/Kconfig"
|
|
|
|
source "fs/jbd2/Kconfig"
|
2006-10-11 16:21:01 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config FS_MBCACHE
|
2006-10-11 16:20:56 +08:00
|
|
|
# Meta block cache for Extended Attributes (ext2/ext3/ext4)
|
2005-04-17 06:20:36 +08:00
|
|
|
tristate
|
2008-08-21 07:56:22 +08: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 06:20:36 +08:00
|
|
|
|
|
|
|
config REISERFS_FS
|
|
|
|
tristate "Reiserfs support"
|
|
|
|
help
|
|
|
|
Stores not just filenames but the files themselves in a balanced
|
2006-10-04 04:22:29 +08:00
|
|
|
tree. Uses journalling.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
Balanced trees are more efficient than traditional file system
|
|
|
|
architectural foundations.
|
|
|
|
|
|
|
|
In general, ReiserFS is as fast as ext2, but is very efficient with
|
|
|
|
large directories and small files. Additional patches are needed
|
|
|
|
for NFS and quotas, please see <http://www.namesys.com/> for links.
|
|
|
|
|
|
|
|
It is more easily extended to have features currently found in
|
|
|
|
database and keyword search systems than block allocation based file
|
|
|
|
systems are. The next version will be so extended, and will support
|
|
|
|
plugins consistent with our motto ``It takes more than a license to
|
|
|
|
make source code open.''
|
|
|
|
|
|
|
|
Read <http://www.namesys.com/> to learn more about reiserfs.
|
|
|
|
|
|
|
|
Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com.
|
|
|
|
|
|
|
|
If you like it, you can pay us to add new features to it that you
|
|
|
|
need, buy a support contract, or pay us to port it to another OS.
|
|
|
|
|
|
|
|
config REISERFS_CHECK
|
|
|
|
bool "Enable reiserfs debug mode"
|
|
|
|
depends on REISERFS_FS
|
|
|
|
help
|
|
|
|
If you set this to Y, then ReiserFS will perform every check it can
|
|
|
|
possibly imagine of its internal consistency throughout its
|
|
|
|
operation. It will also go substantially slower. More than once we
|
|
|
|
have forgotten that this was on, and then gone despondent over the
|
|
|
|
latest benchmarks.:-) Use of this option allows our team to go all
|
|
|
|
out in checking for consistency when debugging without fear of its
|
|
|
|
effect on end users. If you are on the verge of sending in a bug
|
|
|
|
report, say Y and you might get a useful error message. Almost
|
|
|
|
everyone should say N.
|
|
|
|
|
|
|
|
config REISERFS_PROC_INFO
|
|
|
|
bool "Stats in /proc/fs/reiserfs"
|
2007-05-08 15:26:59 +08:00
|
|
|
depends on REISERFS_FS && PROC_FS
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
Create under /proc/fs/reiserfs a hierarchy of files, displaying
|
|
|
|
various ReiserFS statistics and internal data at the expense of
|
|
|
|
making your kernel or module slightly larger (+8 KB). This also
|
|
|
|
increases the amount of kernel memory required for each mount.
|
|
|
|
Almost everyone but ReiserFS developers and people fine-tuning
|
|
|
|
reiserfs or tracing problems should say N.
|
|
|
|
|
|
|
|
config REISERFS_FS_XATTR
|
|
|
|
bool "ReiserFS extended attributes"
|
|
|
|
depends on REISERFS_FS
|
|
|
|
help
|
|
|
|
Extended attributes are name:value pairs associated with inodes by
|
|
|
|
the kernel or by users (see the attr(5) manual page, or visit
|
|
|
|
<http://acl.bestbits.at/> for details).
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config REISERFS_FS_POSIX_ACL
|
|
|
|
bool "ReiserFS POSIX Access Control Lists"
|
|
|
|
depends on REISERFS_FS_XATTR
|
2005-07-08 08:56:57 +08:00
|
|
|
select FS_POSIX_ACL
|
2005-04-17 06:20:36 +08:00
|
|
|
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 REISERFS_FS_SECURITY
|
|
|
|
bool "ReiserFS Security Labels"
|
|
|
|
depends on REISERFS_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 ReiserFS filesystem.
|
|
|
|
|
|
|
|
If you are not using a security module that requires using
|
|
|
|
extended attributes for file security labels, say N.
|
|
|
|
|
|
|
|
config JFS_FS
|
|
|
|
tristate "JFS filesystem support"
|
|
|
|
select NLS
|
|
|
|
help
|
|
|
|
This is a port of IBM's Journaled Filesystem . More information is
|
|
|
|
available in the file <file:Documentation/filesystems/jfs.txt>.
|
|
|
|
|
|
|
|
If you do not intend to use the JFS filesystem, say N.
|
|
|
|
|
|
|
|
config JFS_POSIX_ACL
|
|
|
|
bool "JFS POSIX Access Control Lists"
|
|
|
|
depends on JFS_FS
|
2005-07-08 08:56:57 +08:00
|
|
|
select FS_POSIX_ACL
|
2005-04-17 06:20:36 +08:00
|
|
|
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 JFS_SECURITY
|
|
|
|
bool "JFS Security Labels"
|
|
|
|
depends on JFS_FS
|
|
|
|
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 jfs filesystem.
|
|
|
|
|
|
|
|
If you are not using a security module that requires using
|
|
|
|
extended attributes for file security labels, say N.
|
|
|
|
|
|
|
|
config JFS_DEBUG
|
|
|
|
bool "JFS debugging"
|
|
|
|
depends on JFS_FS
|
|
|
|
help
|
|
|
|
If you are experiencing any problems with the JFS filesystem, say
|
|
|
|
Y here. This will result in additional debugging messages to be
|
|
|
|
written to the system log. Under normal circumstances, this
|
|
|
|
results in very little overhead.
|
|
|
|
|
|
|
|
config JFS_STATISTICS
|
|
|
|
bool "JFS statistics"
|
|
|
|
depends on JFS_FS
|
|
|
|
help
|
|
|
|
Enabling this option will cause statistics from the JFS file system
|
|
|
|
to be made available to the user in the /proc/fs/jfs/ directory.
|
|
|
|
|
|
|
|
config FS_POSIX_ACL
|
2008-02-12 06:12:24 +08:00
|
|
|
# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
|
2005-04-17 06:20:36 +08:00
|
|
|
#
|
|
|
|
# NOTE: you can implement Posix ACLs without these helpers (XFS does).
|
|
|
|
# Never use this symbol for ifdefs.
|
|
|
|
#
|
|
|
|
bool
|
2005-07-08 08:56:57 +08:00
|
|
|
default n
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2008-08-06 21:12:22 +08: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 06:20:36 +08:00
|
|
|
source "fs/xfs/Kconfig"
|
2006-01-17 00:43:37 +08:00
|
|
|
source "fs/gfs2/Kconfig"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2005-12-16 06:31:24 +08:00
|
|
|
config OCFS2_FS
|
2006-09-15 01:28:06 +08:00
|
|
|
tristate "OCFS2 file system support"
|
|
|
|
depends on NET && SYSFS
|
2005-12-16 06:31:24 +08:00
|
|
|
select CONFIGFS_FS
|
2008-09-04 11:03:41 +08:00
|
|
|
select JBD2
|
2005-12-16 06:31:24 +08:00
|
|
|
select CRC32
|
2008-08-20 21:43:36 +08:00
|
|
|
select QUOTA
|
|
|
|
select QUOTA_TREE
|
2005-12-16 06:31:24 +08:00
|
|
|
help
|
|
|
|
OCFS2 is a general purpose extent based shared disk cluster file
|
|
|
|
system with many similarities to ext3. It supports 64 bit inode
|
|
|
|
numbers, and has automatically extending metadata groups which may
|
|
|
|
also make it attractive for non-clustered use.
|
|
|
|
|
|
|
|
You'll want to install the ocfs2-tools package in order to at least
|
|
|
|
get "mount.ocfs2".
|
|
|
|
|
|
|
|
Project web page: http://oss.oracle.com/projects/ocfs2
|
|
|
|
Tools web page: http://oss.oracle.com/projects/ocfs2-tools
|
|
|
|
OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/
|
|
|
|
|
2007-10-31 03:09:03 +08:00
|
|
|
For more information on OCFS2, see the file
|
|
|
|
<file:Documentation/filesystems/ocfs2.txt>.
|
2005-12-16 06:31:24 +08:00
|
|
|
|
2008-03-05 09:58:56 +08:00
|
|
|
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.
|
|
|
|
|
2008-05-14 04:45:14 +08:00
|
|
|
config OCFS2_FS_STATS
|
|
|
|
bool "OCFS2 statistics"
|
|
|
|
depends on OCFS2_FS
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
This option allows some fs statistics to be captured. Enabling
|
|
|
|
this option may increase the memory consumption.
|
|
|
|
|
2006-05-11 09:28:59 +08:00
|
|
|
config OCFS2_DEBUG_MASKLOG
|
|
|
|
bool "OCFS2 logging support"
|
|
|
|
depends on OCFS2_FS
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
The ocfs2 filesystem has an extensive logging system. The system
|
|
|
|
allows selection of events to log via files in /sys/o2cb/logmask/.
|
|
|
|
This option will enlarge your kernel, but it allows debugging of
|
|
|
|
ocfs2 filesystem issues.
|
|
|
|
|
2007-11-14 02:59:33 +08:00
|
|
|
config OCFS2_DEBUG_FS
|
|
|
|
bool "OCFS2 expensive checks"
|
|
|
|
depends on OCFS2_FS
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
This option will enable expensive consistency checks. Enable
|
|
|
|
this option for debugging only as it is likely to decrease
|
|
|
|
performance of the filesystem.
|
2008-09-04 11:03:41 +08:00
|
|
|
|
2008-11-14 11:17:52 +08:00
|
|
|
config OCFS2_FS_POSIX_ACL
|
|
|
|
bool "OCFS2 POSIX Access Control Lists"
|
|
|
|
depends on OCFS2_FS
|
|
|
|
select FS_POSIX_ACL
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Posix Access Control Lists (ACLs) support permissions for users and
|
|
|
|
groups beyond the owner/group/world scheme.
|
|
|
|
|
2008-09-26 00:25:16 +08:00
|
|
|
config BTRFS_FS
|
|
|
|
tristate "Btrfs filesystem (EXPERIMENTAL) Unstable disk format"
|
|
|
|
depends on EXPERIMENTAL
|
|
|
|
select LIBCRC32C
|
Btrfs: Add zlib compression support
This is a large change for adding compression on reading and writing,
both for inline and regular extents. It does some fairly large
surgery to the writeback paths.
Compression is off by default and enabled by mount -o compress. Even
when the -o compress mount option is not used, it is possible to read
compressed extents off the disk.
If compression for a given set of pages fails to make them smaller, the
file is flagged to avoid future compression attempts later.
* While finding delalloc extents, the pages are locked before being sent down
to the delalloc handler. This allows the delalloc handler to do complex things
such as cleaning the pages, marking them writeback and starting IO on their
behalf.
* Inline extents are inserted at delalloc time now. This allows us to compress
the data before inserting the inline extent, and it allows us to insert
an inline extent that spans multiple pages.
* All of the in-memory extent representations (extent_map.c, ordered-data.c etc)
are changed to record both an in-memory size and an on disk size, as well
as a flag for compression.
From a disk format point of view, the extent pointers in the file are changed
to record the on disk size of a given extent and some encoding flags.
Space in the disk format is allocated for compression encoding, as well
as encryption and a generic 'other' field. Neither the encryption or the
'other' field are currently used.
In order to limit the amount of data read for a single random read in the
file, the size of a compressed extent is limited to 128k. This is a
software only limit, the disk format supports u64 sized compressed extents.
In order to limit the ram consumed while processing extents, the uncompressed
size of a compressed extent is limited to 256k. This is a software only limit
and will be subject to tuning later.
Checksumming is still done on compressed extents, and it is done on the
uncompressed version of the data. This way additional encodings can be
layered on without having to figure out which encoding to checksum.
Compression happens at delalloc time, which is basically singled threaded because
it is usually done by a single pdflush thread. This makes it tricky to
spread the compression load across all the cpus on the box. We'll have to
look at parallel pdflush walks of dirty inodes at a later time.
Decompression is hooked into readpages and it does spread across CPUs nicely.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-10-30 02:49:59 +08:00
|
|
|
select ZLIB_INFLATE
|
|
|
|
select ZLIB_DEFLATE
|
2008-09-26 00:25:16 +08:00
|
|
|
help
|
|
|
|
Btrfs is a new filesystem with extents, writable snapshotting,
|
|
|
|
support for multiple devices and many more features.
|
|
|
|
|
|
|
|
Btrfs is highly experimental, and THE DISK FORMAT IS NOT YET
|
|
|
|
FINALIZED. You should say N here unless you are interested in
|
|
|
|
testing Btrfs with non-critical data.
|
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here. The
|
|
|
|
module will be called btrfs.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2008-02-07 16:15:16 +08:00
|
|
|
endif # BLOCK
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2008-12-18 02:59:41 +08: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 05:06:03 +08:00
|
|
|
|
2005-04-17 06:20:36 +08: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 06:17:22 +08:00
|
|
|
shutdown.
|
|
|
|
For further details, read the Quota mini-HOWTO, available from
|
2005-04-17 06:20:36 +08: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 14:29:31 +08: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 11:54:49 +08:00
|
|
|
# Generic support for tree structured quota files. Seleted when needed.
|
|
|
|
config QUOTA_TREE
|
|
|
|
tristate
|
|
|
|
|
2005-04-17 06:20:36 +08: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 11:54:49 +08:00
|
|
|
select QUOTA_TREE
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
This quota format allows using quotas with 32-bit UIDs/GIDs. If you
|
2005-09-07 06:17:22 +08:00
|
|
|
need this functionality say Y here.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
config QUOTACTL
|
|
|
|
bool
|
|
|
|
depends on XFS_QUOTA || QUOTA
|
|
|
|
default y
|
|
|
|
|
|
|
|
config AUTOFS_FS
|
|
|
|
tristate "Kernel automounter support"
|
|
|
|
help
|
|
|
|
The automounter is a tool to automatically mount remote file systems
|
|
|
|
on demand. This implementation is partially kernel-based to reduce
|
|
|
|
overhead in the already-mounted case; this is unlike the BSD
|
|
|
|
automounter (amd), which is a pure user space daemon.
|
|
|
|
|
|
|
|
To use the automounter you need the user-space tools from the autofs
|
|
|
|
package; you can find the location in <file:Documentation/Changes>.
|
|
|
|
You also want to answer Y to "NFS file system support", below.
|
|
|
|
|
|
|
|
If you want to use the newer version of the automounter with more
|
|
|
|
features, say N here and say Y to "Kernel automounter v4 support",
|
|
|
|
below.
|
|
|
|
|
|
|
|
To compile this support as a module, choose M here: the module will be
|
|
|
|
called autofs.
|
|
|
|
|
|
|
|
If you are not a part of a fairly large, distributed network, you
|
|
|
|
probably do not need an automounter, and can say N here.
|
|
|
|
|
|
|
|
config AUTOFS4_FS
|
|
|
|
tristate "Kernel automounter version 4 support (also supports v3)"
|
|
|
|
help
|
|
|
|
The automounter is a tool to automatically mount remote file systems
|
|
|
|
on demand. This implementation is partially kernel-based to reduce
|
|
|
|
overhead in the already-mounted case; this is unlike the BSD
|
|
|
|
automounter (amd), which is a pure user space daemon.
|
|
|
|
|
|
|
|
To use the automounter you need the user-space tools from
|
|
|
|
<ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/>; you also
|
|
|
|
want to answer Y to "NFS file system support", below.
|
|
|
|
|
|
|
|
To compile this support as a module, choose M here: the module will be
|
|
|
|
called autofs4. You will need to add "alias autofs autofs4" to your
|
|
|
|
modules configuration file.
|
|
|
|
|
|
|
|
If you are not a part of a fairly large, distributed network or
|
|
|
|
don't have a laptop which needs to dynamically reconfigure to the
|
|
|
|
local network, you probably do not need an automounter, and can say
|
|
|
|
N here.
|
|
|
|
|
2005-09-10 04:10:22 +08:00
|
|
|
config FUSE_FS
|
2008-10-16 22:08:57 +08:00
|
|
|
tristate "FUSE (Filesystem in Userspace) support"
|
2005-09-10 04:10:22 +08:00
|
|
|
help
|
|
|
|
With FUSE it is possible to implement a fully functional filesystem
|
|
|
|
in a userspace program.
|
|
|
|
|
|
|
|
There's also companion library: libfuse. This library along with
|
|
|
|
utilities is available from the FUSE homepage:
|
|
|
|
<http://fuse.sourceforge.net/>
|
|
|
|
|
2005-09-28 12:45:20 +08:00
|
|
|
See <file:Documentation/filesystems/fuse.txt> for more information.
|
|
|
|
See <file:Documentation/Changes> for needed library/utility version.
|
|
|
|
|
2005-09-10 04:10:22 +08:00
|
|
|
If you want to develop a userspace FS, or if you want to use
|
|
|
|
a filesystem based on FUSE, answer Y or M.
|
|
|
|
|
2006-10-20 14:28:35 +08: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 02:45:40 +08:00
|
|
|
if BLOCK
|
2005-04-17 06:20:36 +08:00
|
|
|
menu "CD-ROM/DVD Filesystems"
|
|
|
|
|
|
|
|
config ISO9660_FS
|
|
|
|
tristate "ISO 9660 CDROM file system support"
|
|
|
|
help
|
|
|
|
This is the standard file system used on CD-ROMs. It was previously
|
|
|
|
known as "High Sierra File System" and is called "hsfs" on other
|
|
|
|
Unix systems. The so-called Rock-Ridge extensions which allow for
|
|
|
|
long Unix filenames and symbolic links are also supported by this
|
|
|
|
driver. If you have a CD-ROM drive and want to do more with it than
|
|
|
|
just listen to audio CDs and watch its LEDs, say Y (and read
|
|
|
|
<file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO,
|
|
|
|
available from <http://www.tldp.org/docs.html#howto>), thereby
|
|
|
|
enlarging your kernel by about 27 KB; otherwise say N.
|
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called isofs.
|
|
|
|
|
|
|
|
config JOLIET
|
|
|
|
bool "Microsoft Joliet CDROM extensions"
|
|
|
|
depends on ISO9660_FS
|
|
|
|
select NLS
|
|
|
|
help
|
|
|
|
Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system
|
|
|
|
which allows for long filenames in unicode format (unicode is the
|
|
|
|
new 16 bit character code, successor to ASCII, which encodes the
|
|
|
|
characters of almost all languages of the world; see
|
|
|
|
<http://www.unicode.org/> for more information). Say Y here if you
|
|
|
|
want to be able to read Joliet CD-ROMs under Linux.
|
|
|
|
|
|
|
|
config ZISOFS
|
|
|
|
bool "Transparent decompression extension"
|
|
|
|
depends on ISO9660_FS
|
|
|
|
select ZLIB_INFLATE
|
|
|
|
help
|
|
|
|
This is a Linux-specific extension to RockRidge which lets you store
|
|
|
|
data in compressed form on a CD-ROM and have it transparently
|
|
|
|
decompressed when the CD-ROM is accessed. See
|
|
|
|
<http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools
|
|
|
|
necessary to create such a filesystem. Say Y here if you want to be
|
|
|
|
able to read such compressed CD-ROMs.
|
|
|
|
|
|
|
|
config UDF_FS
|
|
|
|
tristate "UDF file system support"
|
2008-04-17 15:47:48 +08:00
|
|
|
select CRC_ITU_T
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
This is the new file system used on some CD-ROMs and DVDs. Say Y if
|
|
|
|
you intend to mount DVD discs or CDRW's written in packet mode, or
|
|
|
|
if written to by other UDF utilities, such as DirectCD.
|
|
|
|
Please read <file:Documentation/filesystems/udf.txt>.
|
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called udf.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config UDF_NLS
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)
|
|
|
|
|
|
|
|
endmenu
|
2008-02-07 16:15:16 +08:00
|
|
|
endif # BLOCK
|
2005-04-17 06:20:36 +08: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 02:45:40 +08:00
|
|
|
if BLOCK
|
2005-04-17 06:20:36 +08:00
|
|
|
menu "DOS/FAT/NT Filesystems"
|
|
|
|
|
|
|
|
config FAT_FS
|
|
|
|
tristate
|
|
|
|
select NLS
|
|
|
|
help
|
|
|
|
If you want to use one of the FAT-based file systems (the MS-DOS and
|
|
|
|
VFAT (Windows 95) file systems), then you must say Y or M here
|
|
|
|
to include FAT support. You will then be able to mount partitions or
|
|
|
|
diskettes with FAT-based file systems and transparently access the
|
|
|
|
files on them, i.e. MSDOS files will look and behave just like all
|
|
|
|
other Unix files.
|
|
|
|
|
|
|
|
This FAT support is not a file system in itself, it only provides
|
|
|
|
the foundation for the other file systems. You will have to say Y or
|
|
|
|
M to at least one of "MSDOS fs support" or "VFAT fs support" in
|
|
|
|
order to make use of it.
|
|
|
|
|
|
|
|
Another way to read and write MSDOS floppies and hard drive
|
|
|
|
partitions from within Linux (but not transparently) is with the
|
|
|
|
mtools ("man mtools") program suite. You don't need to say Y here in
|
|
|
|
order to do that.
|
|
|
|
|
|
|
|
If you need to move large files on floppies between a DOS and a
|
|
|
|
Linux box, say Y here, mount the floppy under Linux with an MSDOS
|
|
|
|
file system and use GNU tar's M option. GNU tar is a program
|
|
|
|
available for Unix and DOS ("man tar" or "info tar").
|
|
|
|
|
|
|
|
The FAT support will enlarge your kernel by about 37 KB. If unsure,
|
|
|
|
say Y.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be called
|
|
|
|
fat. Note that if you compile the FAT support as a module, you
|
|
|
|
cannot compile any of the FAT-based file systems into the kernel
|
|
|
|
-- they will have to be modules as well.
|
|
|
|
|
|
|
|
config MSDOS_FS
|
|
|
|
tristate "MSDOS fs support"
|
|
|
|
select FAT_FS
|
|
|
|
help
|
|
|
|
This allows you to mount MSDOS partitions of your hard drive (unless
|
|
|
|
they are compressed; to access compressed MSDOS partitions under
|
|
|
|
Linux, you can either use the DOS emulator DOSEMU, described in the
|
|
|
|
DOSEMU-HOWTO, available from
|
|
|
|
<http://www.tldp.org/docs.html#howto>, or try dmsdosfs in
|
|
|
|
<ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
|
|
|
|
intend to use dosemu with a non-compressed MSDOS partition, say Y
|
|
|
|
here) and MSDOS floppies. This means that file access becomes
|
|
|
|
transparent, i.e. the MSDOS files look and behave just like all
|
|
|
|
other Unix files.
|
|
|
|
|
|
|
|
If you have Windows 95 or Windows NT installed on your MSDOS
|
|
|
|
partitions, you should use the VFAT file system (say Y to "VFAT fs
|
|
|
|
support" below), or you will not be able to see the long filenames
|
|
|
|
generated by Windows 95 / Windows NT.
|
|
|
|
|
|
|
|
This option will enlarge your kernel by about 7 KB. If unsure,
|
|
|
|
answer Y. This will only work if you said Y to "DOS FAT fs support"
|
|
|
|
as well. To compile this as a module, choose M here: the module will
|
|
|
|
be called msdos.
|
|
|
|
|
|
|
|
config VFAT_FS
|
|
|
|
tristate "VFAT (Windows-95) fs support"
|
|
|
|
select FAT_FS
|
|
|
|
help
|
|
|
|
This option provides support for normal Windows file systems with
|
|
|
|
long filenames. That includes non-compressed FAT-based file systems
|
|
|
|
used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
|
|
|
|
programs from the mtools package.
|
|
|
|
|
|
|
|
The VFAT support enlarges your kernel by about 10 KB and it only
|
|
|
|
works if you said Y to the "DOS FAT fs support" above. Please read
|
|
|
|
the file <file:Documentation/filesystems/vfat.txt> for details. If
|
|
|
|
unsure, say Y.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be called
|
|
|
|
vfat.
|
|
|
|
|
|
|
|
config FAT_DEFAULT_CODEPAGE
|
|
|
|
int "Default codepage for FAT"
|
|
|
|
depends on MSDOS_FS || VFAT_FS
|
|
|
|
default 437
|
|
|
|
help
|
|
|
|
This option should be set to the codepage of your FAT filesystems.
|
|
|
|
It can be overridden with the "codepage" mount option.
|
|
|
|
See <file:Documentation/filesystems/vfat.txt> for more information.
|
|
|
|
|
|
|
|
config FAT_DEFAULT_IOCHARSET
|
|
|
|
string "Default iocharset for FAT"
|
|
|
|
depends on VFAT_FS
|
|
|
|
default "iso8859-1"
|
|
|
|
help
|
|
|
|
Set this to the default input/output character set you'd
|
|
|
|
like FAT to use. It should probably match the character set
|
|
|
|
that most of your FAT filesystems use, and can be overridden
|
|
|
|
with the "iocharset" mount option for FAT filesystems.
|
|
|
|
Note that "utf8" is not recommended for FAT filesystems.
|
|
|
|
If unsure, you shouldn't set "utf8" here.
|
|
|
|
See <file:Documentation/filesystems/vfat.txt> for more information.
|
|
|
|
|
|
|
|
config NTFS_FS
|
|
|
|
tristate "NTFS file system support"
|
|
|
|
select NLS
|
|
|
|
help
|
|
|
|
NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
|
|
|
|
|
|
|
|
Saying Y or M here enables read support. There is partial, but
|
|
|
|
safe, write support available. For write support you must also
|
|
|
|
say Y to "NTFS write support" below.
|
|
|
|
|
|
|
|
There are also a number of user-space tools available, called
|
|
|
|
ntfsprogs. These include ntfsundelete and ntfsresize, that work
|
|
|
|
without NTFS support enabled in the kernel.
|
|
|
|
|
|
|
|
This is a rewrite from scratch of Linux NTFS support and replaced
|
|
|
|
the old NTFS code starting with Linux 2.5.11. A backport to
|
|
|
|
the Linux 2.4 kernel series is separately available as a patch
|
|
|
|
from the project web site.
|
|
|
|
|
|
|
|
For more information see <file:Documentation/filesystems/ntfs.txt>
|
2008-07-05 00:59:50 +08:00
|
|
|
and <http://www.linux-ntfs.org/>.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called ntfs.
|
|
|
|
|
|
|
|
If you are not using Windows NT, 2000, XP or 2003 in addition to
|
|
|
|
Linux on your computer it is safe to say N.
|
|
|
|
|
|
|
|
config NTFS_DEBUG
|
|
|
|
bool "NTFS debugging support"
|
|
|
|
depends on NTFS_FS
|
|
|
|
help
|
|
|
|
If you are experiencing any problems with the NTFS file system, say
|
|
|
|
Y here. This will result in additional consistency checks to be
|
|
|
|
performed by the driver as well as additional debugging messages to
|
|
|
|
be written to the system log. Note that debugging messages are
|
|
|
|
disabled by default. To enable them, supply the option debug_msgs=1
|
|
|
|
at the kernel command line when booting the kernel or as an option
|
|
|
|
to insmod when loading the ntfs module. Once the driver is active,
|
|
|
|
you can enable debugging messages by doing (as root):
|
|
|
|
echo 1 > /proc/sys/fs/ntfs-debug
|
|
|
|
Replacing the "1" with "0" would disable debug messages.
|
|
|
|
|
|
|
|
If you leave debugging messages disabled, this results in little
|
|
|
|
overhead, but enabling debug messages results in very significant
|
|
|
|
slowdown of the system.
|
|
|
|
|
|
|
|
When reporting bugs, please try to have available a full dump of
|
|
|
|
debugging messages while the misbehaviour was occurring.
|
|
|
|
|
|
|
|
config NTFS_RW
|
|
|
|
bool "NTFS write support"
|
|
|
|
depends on NTFS_FS
|
|
|
|
help
|
|
|
|
This enables the partial, but safe, write support in the NTFS driver.
|
|
|
|
|
|
|
|
The only supported operation is overwriting existing files, without
|
|
|
|
changing the file length. No file or directory creation, deletion or
|
|
|
|
renaming is possible. Note only non-resident files can be written to
|
|
|
|
so you may find that some very small files (<500 bytes or so) cannot
|
|
|
|
be written to.
|
|
|
|
|
|
|
|
While we cannot guarantee that it will not damage any data, we have
|
|
|
|
so far not received a single report where the driver would have
|
|
|
|
damaged someones data so we assume it is perfectly safe to use.
|
|
|
|
|
|
|
|
Note: While write support is safe in this version (a rewrite from
|
|
|
|
scratch of the NTFS support), it should be noted that the old NTFS
|
|
|
|
write support, included in Linux 2.5.10 and before (since 1997),
|
|
|
|
is not safe.
|
|
|
|
|
|
|
|
This is currently useful with TopologiLinux. TopologiLinux is run
|
|
|
|
on top of any DOS/Microsoft Windows system without partitioning your
|
|
|
|
hard disk. Unlike other Linux distributions TopologiLinux does not
|
|
|
|
need its own partition. For more information see
|
|
|
|
<http://topologi-linux.sourceforge.net/>
|
|
|
|
|
|
|
|
It is perfectly safe to say N here.
|
|
|
|
|
|
|
|
endmenu
|
2008-02-07 16:15:16 +08:00
|
|
|
endif # BLOCK
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
menu "Pseudo filesystems"
|
|
|
|
|
2008-07-25 16:48:30 +08:00
|
|
|
source "fs/proc/Kconfig"
|
2006-09-27 16:51:04 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config SYSFS
|
|
|
|
bool "sysfs file system support" if EMBEDDED
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
The sysfs filesystem is a virtual filesystem that the kernel uses to
|
|
|
|
export internal kernel objects, their attributes, and their
|
|
|
|
relationships to one another.
|
|
|
|
|
|
|
|
Users can use sysfs to ascertain useful information about the running
|
|
|
|
kernel, such as the devices the kernel has discovered on each bus and
|
|
|
|
which driver each is bound to. sysfs can also be used to tune devices
|
|
|
|
and other kernel subsystems.
|
|
|
|
|
|
|
|
Some system agents rely on the information in sysfs to operate.
|
|
|
|
/sbin/hotplug uses device and object attributes in sysfs to assist in
|
2006-11-30 12:32:19 +08:00
|
|
|
delegating policy decisions, like persistently naming devices.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
sysfs is currently used by the block subsystem to mount the root
|
|
|
|
partition. If sysfs is disabled you must specify the boot device on
|
|
|
|
the kernel boot command line via its major and minor numbers. For
|
|
|
|
example, "root=03:01" for /dev/hda1.
|
|
|
|
|
|
|
|
Designers of embedded systems may wish to say N here to conserve space.
|
|
|
|
|
|
|
|
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 17:01:35 +08: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 06:20:36 +08:00
|
|
|
config HUGETLBFS
|
|
|
|
bool "HugeTLB file system support"
|
2008-04-30 19:38:46 +08:00
|
|
|
depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
|
|
|
|
(S390 && 64BIT) || BROKEN
|
2006-04-19 13:20:57 +08: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 06:20:36 +08:00
|
|
|
|
|
|
|
config HUGETLB_PAGE
|
|
|
|
def_bool HUGETLBFS
|
|
|
|
|
2005-12-16 06:29:43 +08:00
|
|
|
config CONFIGFS_FS
|
2008-01-01 05:56:47 +08:00
|
|
|
tristate "Userspace-driven configuration filesystem"
|
|
|
|
depends on SYSFS
|
2005-12-16 06:29:43 +08:00
|
|
|
help
|
|
|
|
configfs is a ram-based filesystem that provides the converse
|
|
|
|
of sysfs's functionality. Where sysfs is a filesystem-based
|
|
|
|
view of kernel objects, configfs is a filesystem-based manager
|
|
|
|
of kernel objects, or config_items.
|
|
|
|
|
|
|
|
Both sysfs and configfs can and should exist together on the
|
|
|
|
same system. One is not a replacement for the other.
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
endmenu
|
|
|
|
|
2009-01-07 06:40:57 +08: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 06:20:36 +08:00
|
|
|
|
|
|
|
config ADFS_FS
|
|
|
|
tristate "ADFS file system support (EXPERIMENTAL)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK && EXPERIMENTAL
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
The Acorn Disc Filing System is the standard file system of the
|
|
|
|
RiscOS operating system which runs on Acorn's ARM-based Risc PC
|
|
|
|
systems and the Acorn Archimedes range of machines. If you say Y
|
|
|
|
here, Linux will be able to read from ADFS partitions on hard drives
|
|
|
|
and from ADFS-formatted floppy discs. If you also want to be able to
|
|
|
|
write to those devices, say Y to "ADFS write support" below.
|
|
|
|
|
|
|
|
The ADFS partition should be the first partition (i.e.,
|
|
|
|
/dev/[hs]d?1) on each of your drives. Please read the file
|
|
|
|
<file:Documentation/filesystems/adfs.txt> for further details.
|
|
|
|
|
|
|
|
To compile this code as a module, choose M here: the module will be
|
|
|
|
called adfs.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config ADFS_FS_RW
|
|
|
|
bool "ADFS write support (DANGEROUS)"
|
|
|
|
depends on ADFS_FS
|
|
|
|
help
|
|
|
|
If you say Y here, you will be able to write to ADFS partitions on
|
|
|
|
hard drives and ADFS-formatted floppy disks. This is experimental
|
|
|
|
codes, so if you're unsure, say N.
|
|
|
|
|
|
|
|
config AFFS_FS
|
|
|
|
tristate "Amiga FFS file system support (EXPERIMENTAL)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK && EXPERIMENTAL
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
The Fast File System (FFS) is the common file system used on hard
|
|
|
|
disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20). Say Y
|
|
|
|
if you want to be able to read and write files from and to an Amiga
|
|
|
|
FFS partition on your hard drive. Amiga floppies however cannot be
|
|
|
|
read with this driver due to an incompatibility of the floppy
|
|
|
|
controller used in an Amiga and the standard floppy controller in
|
|
|
|
PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
|
|
|
|
and <file:fs/affs/Changes>.
|
|
|
|
|
|
|
|
With this driver you can also mount disk files used by Bernd
|
|
|
|
Schmidt's Un*X Amiga Emulator
|
|
|
|
(<http://www.freiburg.linux.de/~uae/>).
|
|
|
|
If you want to do this, you will also need to say Y or M to "Loop
|
|
|
|
device support", above.
|
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called affs. If unsure, say N.
|
|
|
|
|
2006-10-04 17:16:22 +08:00
|
|
|
config ECRYPT_FS
|
|
|
|
tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
|
[PATCH] eCryptfs: Public key transport mechanism
This is the transport code for public key functionality in eCryptfs. It
manages encryption/decryption request queues with a transport mechanism.
Currently, netlink is the only implemented transport.
Each inode has a unique File Encryption Key (FEK). Under passphrase, a File
Encryption Key Encryption Key (FEKEK) is generated from a salt/passphrase
combo on mount. This FEKEK encrypts each FEK and writes it into the header of
each file using the packet format specified in RFC 2440. This is all
symmetric key encryption, so it can all be done via the kernel crypto API.
These new patches introduce public key encryption of the FEK. There is no
asymmetric key encryption support in the kernel crypto API, so eCryptfs pushes
the FEK encryption and decryption out to a userspace daemon. After
considering our requirements and determining the complexity of using various
transport mechanisms, we settled on netlink for this communication.
eCryptfs stores authentication tokens into the kernel keyring. These tokens
correlate with individual keys. For passphrase mode of operation, the
authentication token contains the symmetric FEKEK. For public key, the
authentication token contains a PKI type and an opaque data blob managed by
individual PKI modules in userspace.
Each user who opens a file under an eCryptfs partition mounted in public key
mode must be running a daemon. That daemon has the user's credentials and has
access to all of the keys to which the user should have access. The daemon,
when started, initializes the pluggable PKI modules available on the system
and registers itself with the eCryptfs kernel module. Userspace utilities
register public key authentication tokens into the user session keyring.
These authentication tokens correlate key signatures with PKI modules and PKI
blobs. The PKI blobs contain PKI-specific information necessary for the PKI
module to carry out asymmetric key encryption and decryption.
When the eCryptfs module parses the header of an existing file and finds a Tag
1 (Public Key) packet (see RFC 2440), it reads in the public key identifier
(signature). The asymmetrically encrypted FEK is in the Tag 1 packet;
eCryptfs puts together a decrypt request packet containing the signature and
the encrypted FEK, then it passes it to the daemon registered for the
current->euid via a netlink unicast to the PID of the daemon, which was
registered at the time the daemon was started by the user.
The daemon actually just makes calls to libecryptfs, which implements request
packet parsing and manages PKI modules. libecryptfs grabs the public key
authentication token for the given signature from the user session keyring.
This auth tok tells libecryptfs which PKI module should receive the request.
libecryptfs then makes a decrypt() call to the PKI module, and it passes along
the PKI block from the auth tok. The PKI uses the blob to figure out how it
should decrypt the data passed to it; it performs the decryption and passes
the decrypted data back to libecryptfs. libecryptfs then puts together a
reply packet with the decrypted FEK and passes that back to the eCryptfs
module.
The eCryptfs module manages these request callouts to userspace code via
message context structs. The module maintains an array of message context
structs and places the elements of the array on two lists: a free and an
allocated list. When eCryptfs wants to make a request, it moves a msg ctx
from the free list to the allocated list, sets its state to pending, and fires
off the message to the user's registered daemon.
When eCryptfs receives a netlink message (via the callback), it correlates the
msg ctx struct in the alloc list with the data in the message itself. The
msg->index contains the offset of the array of msg ctx structs. It verifies
that the registered daemon PID is the same as the PID of the process that sent
the message. It also validates a sequence number between the received packet
and the msg ctx. Then, it copies the contents of the message (the reply
packet) into the msg ctx struct, sets the state in the msg ctx to done, and
wakes up the process that was sleeping while waiting for the reply.
The sleeping process was whatever was performing the sys_open(). This process
originally called ecryptfs_send_message(); it is now in
ecryptfs_wait_for_response(). When it wakes up and sees that the msg ctx
state was set to done, it returns a pointer to the message contents (the reply
packet) and returns. If all went well, this packet contains the decrypted
FEK, which is then copied into the crypt_stat struct, and life continues as
normal.
The case for creation of a new file is very similar, only instead of a decrypt
request, eCryptfs sends out an encrypt request.
> - We have a great clod of key mangement code in-kernel. Why is that
> not suitable (or growable) for public key management?
eCryptfs uses Howells' keyring to store persistent key data and PKI state
information. It defers public key cryptographic transformations to userspace
code. The userspace data manipulation request really is orthogonal to key
management in and of itself. What eCryptfs basically needs is a secure way to
communicate with a particular daemon for a particular task doing a syscall,
based on the UID. Nothing running under another UID should be able to access
that channel of communication.
> - Is it appropriate that new infrastructure for public key
> management be private to a particular fs?
The messaging.c file contains a lot of code that, perhaps, could be extracted
into a separate kernel service. In essence, this would be a sort of
request/reply mechanism that would involve a userspace daemon. I am not aware
of anything that does quite what eCryptfs does, so I was not aware of any
existing tools to do just what we wanted.
> What happens if one of these daemons exits without sending a quit
> message?
There is a stale uid<->pid association in the hash table for that user. When
the user registers a new daemon, eCryptfs cleans up the old association and
generates a new one. See ecryptfs_process_helo().
> - _why_ does it use netlink?
Netlink provides the transport mechanism that would minimize the complexity of
the implementation, given that we can have multiple daemons (one per user). I
explored the possibility of using relayfs, but that would involve having to
introduce control channels and a protocol for creating and tearing down
channels for the daemons. We do not have to worry about any of that with
netlink.
Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 16:53:43 +08:00
|
|
|
depends on EXPERIMENTAL && KEYS && CRYPTO && NET
|
2006-10-04 17:16:22 +08:00
|
|
|
help
|
|
|
|
Encrypted filesystem that operates on the VFS layer. See
|
2007-10-31 04:37:19 +08:00
|
|
|
<file:Documentation/filesystems/ecryptfs.txt> to learn more about
|
2006-10-04 17:16:22 +08:00
|
|
|
eCryptfs. Userspace components are required and can be
|
|
|
|
obtained from <http://ecryptfs.sf.net>.
|
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called ecryptfs.
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config HFS_FS
|
|
|
|
tristate "Apple Macintosh file system support (EXPERIMENTAL)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK && EXPERIMENTAL
|
2005-11-07 16:59:18 +08:00
|
|
|
select NLS
|
2005-04-17 06:20:36 +08:00
|
|
|
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.
|
2008-01-20 21:41:18 +08:00
|
|
|
Please read <file:Documentation/filesystems/hfs.txt> to learn about
|
|
|
|
the available mount options.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
To compile this file system support as a module, choose M here: the
|
|
|
|
module will be called hfs.
|
|
|
|
|
|
|
|
config HFSPLUS_FS
|
|
|
|
tristate "Apple Extended HFS 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 02:45:40 +08:00
|
|
|
depends on BLOCK
|
2005-04-17 06:20:36 +08:00
|
|
|
select NLS
|
|
|
|
select NLS_UTF8
|
|
|
|
help
|
|
|
|
If you say Y here, you will be able to mount extended format
|
|
|
|
Macintosh-formatted hard drive partitions with full read-write access.
|
|
|
|
|
|
|
|
This file system is often called HFS+ and was introduced with
|
|
|
|
MacOS 8. It includes all Mac specific filesystem data such as
|
|
|
|
data forks and creator codes, but it also has several UNIX
|
|
|
|
style features such as file ownership and permissions.
|
|
|
|
|
|
|
|
config BEFS_FS
|
|
|
|
tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK && EXPERIMENTAL
|
2005-04-17 06:20:36 +08:00
|
|
|
select NLS
|
|
|
|
help
|
|
|
|
The BeOS File System (BeFS) is the native file system of Be, Inc's
|
|
|
|
BeOS. Notable features include support for arbitrary attributes
|
2006-11-30 12:22:59 +08:00
|
|
|
on files and directories, and database-like indices on selected
|
2005-04-17 06:20:36 +08:00
|
|
|
attributes. (Also note that this driver doesn't make those features
|
|
|
|
available at this time). It is a 64 bit filesystem, so it supports
|
2006-10-04 04:34:14 +08:00
|
|
|
extremely large volumes and files.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
If you use this filesystem, you should also say Y to at least one
|
|
|
|
of the NLS (native language support) options below.
|
|
|
|
|
|
|
|
If you don't know what this is about, say N.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be
|
|
|
|
called befs.
|
|
|
|
|
|
|
|
config BEFS_DEBUG
|
|
|
|
bool "Debug BeFS"
|
|
|
|
depends on BEFS_FS
|
|
|
|
help
|
|
|
|
If you say Y here, you can use the 'debug' mount option to enable
|
2008-02-06 06:22:58 +08:00
|
|
|
debugging output from the driver.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
config BFS_FS
|
|
|
|
tristate "BFS file system support (EXPERIMENTAL)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK && EXPERIMENTAL
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
Boot File System (BFS) is a file system used under SCO UnixWare to
|
|
|
|
allow the bootloader access to the kernel image and other important
|
|
|
|
files during the boot process. It is usually mounted under /stand
|
|
|
|
and corresponds to the slice marked as "STAND" in the UnixWare
|
|
|
|
partition. You should say Y if you want to read or write the files
|
|
|
|
on your /stand slice from within Linux. You then also need to say Y
|
|
|
|
to "UnixWare slices support", below. More information about the BFS
|
|
|
|
file system is contained in the file
|
|
|
|
<file:Documentation/filesystems/bfs.txt>.
|
|
|
|
|
|
|
|
If you don't know what this is about, say N.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be called
|
|
|
|
bfs. Note that the file system of your root partition (the one
|
|
|
|
containing the directory /) cannot be compiled as a module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config EFS_FS
|
|
|
|
tristate "EFS file system support (read only) (EXPERIMENTAL)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK && EXPERIMENTAL
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
EFS is an older file system used for non-ISO9660 CD-ROMs and hard
|
|
|
|
disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
|
|
|
|
uses the XFS file system for hard disk partitions however).
|
|
|
|
|
|
|
|
This implementation only offers read-only access. If you don't know
|
|
|
|
what all this is about, it's safe to say N. For more information
|
|
|
|
about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.
|
|
|
|
|
|
|
|
To compile the EFS file system support as a module, choose M here: the
|
|
|
|
module will be called efs.
|
|
|
|
|
2008-08-29 11:19:50 +08:00
|
|
|
source "fs/jffs2/Kconfig"
|
2008-07-15 00:08:38 +08:00
|
|
|
# UBIFS File system configuration
|
|
|
|
source "fs/ubifs/Kconfig"
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config CRAMFS
|
|
|
|
tristate "Compressed ROM file system support (cramfs)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK
|
2005-04-17 06:20:36 +08:00
|
|
|
select ZLIB_INFLATE
|
|
|
|
help
|
|
|
|
Saying Y here includes support for CramFs (Compressed ROM File
|
|
|
|
System). CramFs is designed to be a simple, small, and compressed
|
|
|
|
file system for ROM based embedded systems. CramFs is read-only,
|
|
|
|
limited to 256MB file systems (with 16MB files), and doesn't support
|
|
|
|
16/32 bits uid/gid, hard links and timestamps.
|
|
|
|
|
|
|
|
See <file:Documentation/filesystems/cramfs.txt> and
|
|
|
|
<file:fs/cramfs/README> for further information.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be called
|
|
|
|
cramfs. Note that the root file system (the one containing the
|
|
|
|
directory /) cannot be compiled as a module.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2009-01-05 16:46:28 +08:00
|
|
|
config SQUASHFS
|
|
|
|
tristate "SquashFS 4.0 - Squashed file system support"
|
|
|
|
depends on BLOCK
|
|
|
|
select ZLIB_INFLATE
|
|
|
|
help
|
|
|
|
Saying Y here includes support for SquashFS 4.0 (a Compressed
|
|
|
|
Read-Only File System). Squashfs is a highly compressed read-only
|
|
|
|
filesystem for Linux. It uses zlib compression to compress both
|
|
|
|
files, inodes and directories. Inodes in the system are very small
|
|
|
|
and all blocks are packed to minimise data overhead. Block sizes
|
|
|
|
greater than 4K are supported up to a maximum of 1 Mbytes (default
|
|
|
|
block size 128K). SquashFS 4.0 supports 64 bit filesystems and files
|
|
|
|
(larger than 4GB), full uid/gid information, hard links and
|
|
|
|
timestamps.
|
|
|
|
|
|
|
|
Squashfs is intended for general read-only filesystem use, for
|
|
|
|
archival use (i.e. in cases where a .tar.gz file may be used), and in
|
|
|
|
embedded systems where low overhead is needed. Further information
|
|
|
|
and tools are available from http://squashfs.sourceforge.net.
|
|
|
|
|
|
|
|
If you want to compile this as a module ( = code which can be
|
|
|
|
inserted in and removed from the running kernel whenever you want),
|
|
|
|
say M here and read <file:Documentation/modules.txt>. The module
|
|
|
|
will be called squashfs. Note that the root file system (the one
|
|
|
|
containing the directory /) cannot be compiled as a module.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config SQUASHFS_EMBEDDED
|
|
|
|
|
|
|
|
bool "Additional option for memory-constrained systems"
|
|
|
|
depends on SQUASHFS
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Saying Y here allows you to specify cache size.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config SQUASHFS_FRAGMENT_CACHE_SIZE
|
|
|
|
int "Number of fragments cached" if SQUASHFS_EMBEDDED
|
|
|
|
depends on SQUASHFS
|
|
|
|
default "3"
|
|
|
|
help
|
|
|
|
By default SquashFS caches the last 3 fragments read from
|
|
|
|
the filesystem. Increasing this amount may mean SquashFS
|
|
|
|
has to re-read fragments less often from disk, at the expense
|
|
|
|
of extra system memory. Decreasing this amount will mean
|
|
|
|
SquashFS uses less memory at the expense of extra reads from disk.
|
|
|
|
|
|
|
|
Note there must be at least one cached fragment. Anything
|
|
|
|
much more than three will probably not make much difference.
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config VXFS_FS
|
|
|
|
tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
|
[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 02:45:40 +08:00
|
|
|
depends on BLOCK
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
|
|
|
FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
|
|
|
|
file system format. VERITAS VxFS(TM) is the standard file system
|
|
|
|
of SCO UnixWare (and possibly others) and optionally available
|
|
|
|
for Sunsoft Solaris, HP-UX and many other operating systems.
|
|
|
|
Currently only readonly access is supported.
|
|
|
|
|
|
|
|
NOTE: the file system type as used by mount(1), mount(2) and
|
|
|
|
fstab(5) is 'vxfs' as it describes the file system format, not
|
|
|
|
the actual driver.
|
|
|
|
|
|
|
|
To compile this as a module, choose M here: the module will be
|
|
|
|
called freevxfs. If unsure, say N.
|
|
|
|
|
2008-02-07 16:15:16 +08:00
|
|
|
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.
|
|
|
|
|
2008-07-26 10:45:17 +08: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 06:20:36 +08: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 02:45:40 +08:00
|
|
|
depends on BLOCK
|
2005-04-17 06:20:36 +08: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 02:45:40 +08:00
|
|
|
depends on BLOCK
|
2005-04-17 06:20:36 +08: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 16:15:16 +08: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 06:20:36 +08: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 02:45:40 +08:00
|
|
|
depends on BLOCK
|
2005-04-17 06:20:36 +08: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 04:36:44 +08:00
|
|
|
to run these binaries, you will want to install linux-abi which is
|
2005-04-17 06:20:36 +08: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 02:45:40 +08:00
|
|
|
depends on BLOCK
|
2005-04-17 06:20:36 +08: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 20:47:24 +08:00
|
|
|
depends on UFS_FS && EXPERIMENTAL
|
2005-04-17 06:20:36 +08: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 20:47:24 +08: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 06:40:57 +08:00
|
|
|
endif # MISC_FILESYSTEMS
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2007-10-17 14:30:16 +08:00
|
|
|
menuconfig NETWORK_FILESYSTEMS
|
|
|
|
bool "Network File Systems"
|
|
|
|
default y
|
2005-04-17 06:20:36 +08:00
|
|
|
depends on NET
|
2007-10-17 14:30:16 +08: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 05:09:04 +08:00
|
|
|
|
2007-10-17 14:30:16 +08: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 06:20:36 +08:00
|
|
|
|
|
|
|
config NFS_FS
|
2008-05-22 05:09:04 +08:00
|
|
|
tristate "NFS client support"
|
2005-04-17 06:20:36 +08:00
|
|
|
depends on INET
|
|
|
|
select LOCKD
|
|
|
|
select SUNRPC
|
2005-06-23 01:16:27 +08:00
|
|
|
select NFS_ACL_SUPPORT if NFS_V3_ACL
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
2008-05-22 05:09:04 +08: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 06:20:36 +08:00
|
|
|
|
2008-05-22 05:09:04 +08: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 06:20:36 +08:00
|
|
|
|
2008-05-22 05:09:04 +08: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 06:20:36 +08:00
|
|
|
|
2008-05-22 05:09:04 +08: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 06:20:36 +08:00
|
|
|
|
2008-05-22 05:09:04 +08:00
|
|
|
If unsure, say N.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
config NFS_V3
|
2008-05-22 05:09:04 +08:00
|
|
|
bool "NFS client support for NFS version 3"
|
2005-04-17 06:20:36 +08:00
|
|
|
depends on NFS_FS
|
|
|
|
help
|
2008-05-22 05:09:04 +08:00
|
|
|
This option enables support for version 3 of the NFS protocol
|
|
|
|
(RFC 1813) in the kernel's NFS client.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
2005-06-23 01:16:27 +08:00
|
|
|
config NFS_V3_ACL
|
2008-05-22 05:09:04 +08:00
|
|
|
bool "NFS client support for the NFSv3 ACL protocol extension"
|
2005-06-23 01:16:27 +08:00
|
|
|
depends on NFS_V3
|
|
|
|
help
|
2008-05-22 05:09:04 +08: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 01:16:27 +08:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config NFS_V4
|
2008-05-22 05:09:04 +08:00
|
|
|
bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
|
2005-04-17 06:20:36 +08:00
|
|
|
depends on NFS_FS && EXPERIMENTAL
|
|
|
|
select RPCSEC_GSS_KRB5
|
|
|
|
help
|
2008-05-22 05:09:04 +08:00
|
|
|
This option enables support for version 4 of the NFS protocol
|
|
|
|
(RFC 3530) in the kernel's NFS client.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2008-05-22 05:09:04 +08: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 06:20:36 +08:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2008-05-22 05:09:04 +08: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 06:20:36 +08:00
|
|
|
config NFSD
|
|
|
|
tristate "NFS server support"
|
|
|
|
depends on INET
|
|
|
|
select LOCKD
|
|
|
|
select SUNRPC
|
|
|
|
select EXPORTFS
|
2006-06-26 15:25:39 +08:00
|
|
|
select NFS_ACL_SUPPORT if NFSD_V2_ACL
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
2008-02-12 06:11:54 +08: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 06:20:36 +08:00
|
|
|
|
2008-02-12 06:11:54 +08:00
|
|
|
You may choose to use a user-space NFS server instead, in which
|
|
|
|
case you can choose N here.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2008-02-12 06:11:54 +08: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 06:20:36 +08:00
|
|
|
|
2008-02-12 06:11:54 +08: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 06:20:36 +08:00
|
|
|
|
2008-02-12 06:11:54 +08:00
|
|
|
If unsure, say N.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2005-06-23 01:16:26 +08:00
|
|
|
config NFSD_V2_ACL
|
|
|
|
bool
|
|
|
|
depends on NFSD
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config NFSD_V3
|
2008-02-12 06:11:54 +08:00
|
|
|
bool "NFS server support for NFS version 3"
|
2005-04-17 06:20:36 +08:00
|
|
|
depends on NFSD
|
|
|
|
help
|
2008-02-12 06:11:54 +08: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 06:20:36 +08:00
|
|
|
|
2005-06-23 01:16:26 +08:00
|
|
|
config NFSD_V3_ACL
|
2008-02-12 06:11:54 +08:00
|
|
|
bool "NFS server support for the NFSv3 ACL protocol extension"
|
2005-06-23 01:16:26 +08:00
|
|
|
depends on NFSD_V3
|
2008-02-12 06:12:31 +08:00
|
|
|
select NFSD_V2_ACL
|
2005-06-23 01:16:26 +08:00
|
|
|
help
|
2008-02-12 06:11:54 +08: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 01:16:26 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config NFSD_V4
|
2008-02-12 06:11:54 +08:00
|
|
|
bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
|
2008-03-28 04:34:54 +08:00
|
|
|
depends on NFSD && PROC_FS && EXPERIMENTAL
|
|
|
|
select NFSD_V3
|
2008-02-12 06:12:24 +08:00
|
|
|
select FS_POSIX_ACL
|
2007-07-17 19:04:41 +08:00
|
|
|
select RPCSEC_GSS_KRB5
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
2008-02-12 06:11:54 +08: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 06:20:36 +08: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 01:16:26 +08:00
|
|
|
config NFS_ACL_SUPPORT
|
|
|
|
tristate
|
|
|
|
select FS_POSIX_ACL
|
|
|
|
|
|
|
|
config NFS_COMMON
|
|
|
|
bool
|
|
|
|
depends on NFSD || NFS_FS
|
|
|
|
default y
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config SUNRPC
|
|
|
|
tristate
|
|
|
|
|
|
|
|
config SUNRPC_GSS
|
|
|
|
tristate
|
|
|
|
|
2007-09-11 01:49:15 +08:00
|
|
|
config SUNRPC_XPRT_RDMA
|
2008-01-29 01:09:28 +08:00
|
|
|
tristate
|
2007-09-21 05:37:58 +08:00
|
|
|
depends on SUNRPC && INFINIBAND && EXPERIMENTAL
|
2008-01-29 01:09:28 +08:00
|
|
|
default SUNRPC && INFINIBAND
|
2008-03-15 02:15:11 +08: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 01:49:15 +08:00
|
|
|
|
2008-08-19 07:34:16 +08: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 06:20:36 +08: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 14:49:36 +08:00
|
|
|
select CRYPTO_CBC
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
2008-03-15 02:15:11 +08:00
|
|
|
Choose Y here to enable Secure RPC using the Kerberos version 5
|
|
|
|
GSS-API mechanism (RFC 1964).
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2008-03-15 02:15:11 +08: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 06:20:36 +08: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 12:25:10 +08:00
|
|
|
select CRYPTO_CAST5
|
2006-10-25 14:49:36 +08:00
|
|
|
select CRYPTO_CBC
|
2005-04-17 06:20:36 +08:00
|
|
|
help
|
2008-03-15 02:15:11 +08:00
|
|
|
Choose Y here to enable Secure RPC using the SPKM3 public key
|
|
|
|
GSS-API mechansim (RFC 2025).
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2008-03-15 02:15:11 +08: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 06:20:36 +08:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config SMB_FS
|
2008-02-06 06:22:58 +08:00
|
|
|
tristate "SMB file system support (OBSOLETE, please use CIFS)"
|
2005-04-17 06:20:36 +08: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 06:22:58 +08: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 06:20:36 +08: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 11:28:49 +08:00
|
|
|
source "fs/cifs/Kconfig"
|
2008-01-10 00:21:36 +08:00
|
|
|
|
2005-04-17 06:20:36 +08: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 17:19:27 +08:00
|
|
|
tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
|
2005-04-17 06:20:36 +08:00
|
|
|
depends on INET && EXPERIMENTAL
|
2007-04-27 06:55:03 +08:00
|
|
|
select AF_RXRPC
|
2005-04-17 06:20:36 +08: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 04:22:29 +08:00
|
|
|
See <file:Documentation/filesystems/afs.txt> for more information.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2007-04-27 06:55:03 +08: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 04:04:18 +08:00
|
|
|
config 9P_FS
|
|
|
|
tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
|
2007-07-11 06:57:28 +08: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 04:04:18 +08: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 14:30:16 +08:00
|
|
|
endif # NETWORK_FILESYSTEMS
|
2005-04-17 06:20:36 +08: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 02:45:40 +08:00
|
|
|
if BLOCK
|
2005-04-17 06:20:36 +08: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 02:45:40 +08:00
|
|
|
endif
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
source "fs/nls/Kconfig"
|
2006-01-18 17:30:29 +08:00
|
|
|
source "fs/dlm/Kconfig"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
endmenu
|