dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/Documentation
Eric Van Hensbergen 93fa58cb83 [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-09 13:57:56 -07:00
..
DocBook [kernel-doc] fix various DocBook build problems/warnings 2005-09-07 01:15:17 -04:00
RCU [PATCH] files: rcuref APIs 2005-09-09 13:57:54 -07:00
aoe [PATCH] aoe: update the documentation to mention aoetools 2005-05-03 23:34:54 -07:00
arm [PATCH] ARM: 2847/1: S3C24XX - Documentation for USB OHCI host 2005-08-10 16:45:14 +01:00
block [PATCH] CFQ io scheduler, add ioprio documentation 2005-06-27 14:33:30 -07:00
cdrom [PATCH] remove verify_area(): remove or edit references to verify_area in Documentation/ 2005-09-07 16:57:35 -07:00
cpu-freq [PATCH] cpufreq: governors documentation fixes 2005-06-25 16:24:55 -07:00
cris Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
crypto [CRYPTO]: Fix XTEA implementation 2005-09-01 17:42:46 -07:00
device-mapper Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
driver-model [PATCH] Driver Core: driver model doc update 2005-06-20 15:15:29 -07:00
dvb [PATCH] dvb: dst: Updated Documentation 2005-09-09 13:57:44 -07:00
early-userspace Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fb [PATCH] vesafb: Document mtrr boot option usage 2005-07-30 10:14:47 -07:00
filesystems [PATCH] v9fs: Documentation, Makefiles, Configuration 2005-09-09 13:57:56 -07:00
firmware_class Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fujitsu/frv Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hwmon [PATCH] I2C: W83792D documentation 3/3 2005-09-05 09:14:14 -07:00
i2c [PATCH] I2C: Centralize 24RF08 corruption prevention 2005-09-05 09:14:25 -07:00
i2o Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i386 [PATCH] Make the bzImage format self-terminating 2005-09-07 16:57:29 -07:00
ia64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
infiniband [PATCH] IB: Add core locking documentation to Infiniband 2005-07-27 16:26:15 -07:00
input [PATCH] USB: yealink: fix htons usage, documentation updates 2005-09-08 16:40:57 -07:00
ioctl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isdn Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kbuild [PATCH] kbuild: describe Kbuild pitfall 2005-07-28 22:58:21 +02:00
kdump [PATCH] kdump documentation update to introduce use of irqpoll 2005-06-25 16:24:52 -07:00
m68k Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mips Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
networking /spare/repo/netdev-2.6 branch 'master' 2005-09-01 18:02:01 -04:00
parisc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pcmcia [PATCH] pcmcia: update documentation 2005-07-28 08:39:00 -07:00
power [PATCH] swsusp: update documentation 2005-09-07 16:57:16 -07:00
powerpc [PATCH] Driver Core: remove driver model detach_state 2005-05-17 14:54:55 -07:00
s390 [PATCH] s390: debug feature changes 2005-06-25 16:24:37 -07:00
scsi [SCSI] unexport scsi_add_timer/scsi_delete_timer 2005-09-06 17:26:37 -05:00
serial [SERIAL] Clean up and fix tty transmission start/stoping 2005-08-31 10:12:14 +01:00
sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sound [ALSA] ad1816a - Add clockfreq module option 2005-08-30 08:43:32 +02:00
sparc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysctl [PATCH] setuid core dump 2005-06-23 09:45:26 -07:00
telephony Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uml Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
usb [PATCH] USB: ub documentation update 2005-08-04 21:32:46 -07:00
video4linux [PATCH] v4l: cx88-dvb incorrect reporting fixed and remove bad PCI ID for Sabrent 2005-09-09 13:57:51 -07:00
vm [PATCH] swap: swap_lock replace list+device 2005-09-05 00:05:42 -07:00
w1 [PATCH] w1: Updates the w1 documentation (w1.generic) 2005-06-21 21:43:12 -07:00
watchdog [PATCH] ppc32: Added support for the Book-E style Watchdog Timer 2005-09-05 00:05:56 -07:00
x86_64 [PATCH] x86_64: ignore machine checks from boot time 2005-08-07 10:00:37 -07:00
00-INDEX [PATCH] kdump: Documentation for Kdump 2005-06-25 16:24:52 -07:00
BUG-HUNTING Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Changes [PATCH] Documentation/Changes: document the required udev version 2005-07-27 16:26:07 -07:00
CodingStyle Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
DMA-API.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
DMA-mapping.txt [PATCH] remove old scsi data direction macros 2005-04-18 13:49:58 -05:00
IO-mapping.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
IPMI.txt [PATCH] ipmi poweroff: fix chassis control 2005-09-07 16:57:49 -07:00
IRQ-affinity.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
MSI-HOWTO.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ManagementStyle Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
PCIEBUS-HOWTO.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
README.DAC960 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
README.cycladesZ Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
SAK.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
SecurityBugs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
SubmittingDrivers [PATCH] Doc/Submitting: corrections, additions 2005-06-28 21:20:37 -07:00
SubmittingPatches [PATCH] plug MAN-PAGES maintainer in Documentation/SubmittingPatches 2005-08-01 19:14:00 -07:00
VGA-softcursor.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
acpi-hotkey.txt Merge to-linus-stable into to-akpm 2005-08-15 15:52:00 -04:00
atomic_ops.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
basic_profiling.txt [PATCH] oprofile: report anonymous region samples 2005-06-24 00:06:27 -07:00
binfmt_misc.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cachetlb.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cciss.txt [PATCH] cciss: pci id fix 2005-06-27 15:11:48 -07:00
cli-sti-removal.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
computone.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqarray.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpusets.txt [PATCH] cpusets: formalize intermediate GFP_KERNEL containment 2005-09-07 16:57:40 -07:00
dcdbas.txt [PATCH] dcdbas: add Dell Systems Management Base Driver with sysfs support 2005-09-07 16:57:27 -07:00
debugging-modules.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dell_rbu.txt [PATCH] dell_rbu: new Dell BIOS update driver 2005-09-07 16:57:27 -07:00
devices.txt [PATCH] kdump: Accessing dump file in linear raw format (/dev/oldmem) 2005-06-25 16:24:54 -07:00
digiepca.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dnotify.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dontdiff [PATCH] ARM: 2840/1: Add mach-types to Documentation/dontdiff 2005-08-03 19:49:18 +01:00
eisa.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exception.txt [PATCH] remove verify_area(): remove or edit references to verify_area in Documentation/ 2005-09-07 16:57:35 -07:00
feature-removal-schedule.txt [PATCH] PCI: remove CONFIG_PCI_NAMES 2005-09-08 14:57:23 -07:00
floppy.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ftape.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hayes-esp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
highuid.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hpet.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hw_random.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ibm-acpi.txt [ACPI] IBM ThinkPad ACPI Extras Driver v0.12 2005-08-25 17:37:51 -04:00
ide.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
initrd.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_ordering.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl-number.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iostats.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isapnp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
java.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kernel-doc-nano-HOWTO.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kernel-docs.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kernel-parameters.txt [PATCH] Add rdinit parameter to pick early userspace init 2005-09-07 16:57:28 -07:00
keys.txt [PATCH] Keys: Make request-key create an authorisation key 2005-06-24 00:05:19 -07:00
kobject.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.txt [PATCH] Add Documentation/kprobes.txt 2005-08-04 13:00:55 -07:00
kref.txt [PATCH] kref: add link to original documentation to the kref documentation. 2005-04-18 21:57:30 -07:00
laptop-mode.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ldm.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
locks.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
logo.gif Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
logo.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
magic-number.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mandatory.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
md.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memory.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mono.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
moxa-smartio Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mtrr.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nbd.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfsroot.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nmi_watchdog.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nommu-mmap.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
numastat.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oops-tracing.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
paride.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parport-lowlevel.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parport.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.txt [PATCH] PCI: update documentation 2005-08-16 21:06:25 -07:00
pm.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pnp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
preempt-locking.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prio_tree.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ramdisk.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
riscom8.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rocket.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rpc-cache.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtc.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-coding.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-design.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-domains.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-stats.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
seclvl.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial-console.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgi-ioc4.txt [PATCH] ioc4: Core driver rewrite 2005-06-21 18:46:32 -07:00
sgi-visws.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smart-config.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sonypi.txt [PATCH] sonypi SPIC initialisation fix 2005-09-07 16:57:24 -07:00
sparse.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
specialix.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlocks.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stable_api_nonsense.txt [PATCH] stable_api_nonsense.txt fixes 2005-07-29 13:12:49 -07:00
stable_kernel_rules.txt [PATCH] Add the rules about the -stable kernel releases to the Documentation directory 2005-07-29 13:12:49 -07:00
stallion.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
svga.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sx.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysrq.txt [PATCH] kdump: sysrq trigger mechanism for kexec based crashdumps 2005-06-25 16:24:54 -07:00
time_interpolators.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tipar.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tty.txt [PATCH] Introduce tty_unregister_ldisc() 2005-06-23 09:45:35 -07:00
unicode.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
voyager.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xterm-linux.xpm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
zorro.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/