9p.txt advertises that maxdata mount option should be used to specify msize, in the code though we use msize option and completely ignore maxdata if passed Signed-off-by: Nicolae Mogoreanu <mogoreanu@gmail.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
		
			
				
	
	
		
			167 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 	  	    v9fs: Plan 9 Resource Sharing for Linux
 | |
| 		    =======================================
 | |
| 
 | |
| ABOUT
 | |
| =====
 | |
| 
 | |
| v9fs is a Unix implementation of the Plan 9 9p remote filesystem protocol.
 | |
| 
 | |
| This software was originally developed by Ron Minnich <rminnich@sandia.gov>
 | |
| and Maya Gokhale.  Additional development by Greg Watson
 | |
| <gwatson@lanl.gov> and most recently Eric Van Hensbergen
 | |
| <ericvh@gmail.com>, Latchesar Ionkov <lucho@ionkov.net> and Russ Cox
 | |
| <rsc@swtch.com>.
 | |
| 
 | |
| The best detailed explanation of the Linux implementation and applications of
 | |
| the 9p client is available in the form of a USENIX paper:
 | |
|    http://www.usenix.org/events/usenix05/tech/freenix/hensbergen.html
 | |
| 
 | |
| Other applications are described in the following papers:
 | |
| 	* XCPU & Clustering
 | |
| 		http://xcpu.org/papers/xcpu-talk.pdf
 | |
| 	* KVMFS: control file system for KVM
 | |
| 		http://xcpu.org/papers/kvmfs.pdf
 | |
| 	* CellFS: A New Programming Model for the Cell BE
 | |
| 		http://xcpu.org/papers/cellfs-talk.pdf
 | |
| 	* PROSE I/O: Using 9p to enable Application Partitions
 | |
| 		http://plan9.escet.urjc.es/iwp9/cready/PROSE_iwp9_2006.pdf
 | |
| 	* VirtFS: A Virtualization Aware File System pass-through
 | |
| 		http://goo.gl/3WPDg
 | |
| 
 | |
| USAGE
 | |
| =====
 | |
| 
 | |
| For remote file server:
 | |
| 
 | |
| 	mount -t 9p 10.10.1.2 /mnt/9
 | |
| 
 | |
| For Plan 9 From User Space applications (http://swtch.com/plan9)
 | |
| 
 | |
| 	mount -t 9p `namespace`/acme /mnt/9 -o trans=unix,uname=$USER
 | |
| 
 | |
| For server running on QEMU host with virtio transport:
 | |
| 
 | |
| 	mount -t 9p -o trans=virtio <mount_tag> /mnt/9
 | |
| 
 | |
| where mount_tag is the tag associated by the server to each of the exported
 | |
| mount points. Each 9P export is seen by the client as a virtio device with an
 | |
| associated "mount_tag" property. Available mount tags can be
 | |
| seen by reading /sys/bus/virtio/drivers/9pnet_virtio/virtio<n>/mount_tag files.
 | |
| 
 | |
| OPTIONS
 | |
| =======
 | |
| 
 | |
|   trans=name	select an alternative transport.  Valid options are
 | |
|   		currently:
 | |
| 			unix 	- specifying a named pipe mount point
 | |
| 			tcp	- specifying a normal TCP/IP connection
 | |
| 			fd   	- used passed file descriptors for connection
 | |
|                                 (see rfdno and wfdno)
 | |
| 			virtio	- connect to the next virtio channel available
 | |
| 				(from QEMU with trans_virtio module)
 | |
| 			rdma	- connect to a specified RDMA channel
 | |
| 
 | |
|   uname=name	user name to attempt mount as on the remote server.  The
 | |
|   		server may override or ignore this value.  Certain user
 | |
| 		names may require authentication.
 | |
| 
 | |
|   aname=name	aname specifies the file tree to access when the server is
 | |
|   		offering several exported file systems.
 | |
| 
 | |
|   cache=mode	specifies a caching policy.  By default, no caches are used.
 | |
| 			loose = no attempts are made at consistency,
 | |
|                                 intended for exclusive, read-only mounts
 | |
| 			fscache = use FS-Cache for a persistent, read-only
 | |
| 				cache backend.
 | |
| 
 | |
|   debug=n	specifies debug level.  The debug level is a bitmask.
 | |
| 			0x01  = display verbose error messages
 | |
| 			0x02  = developer debug (DEBUG_CURRENT)
 | |
| 			0x04  = display 9p trace
 | |
| 			0x08  = display VFS trace
 | |
| 			0x10  = display Marshalling debug
 | |
| 			0x20  = display RPC debug
 | |
| 			0x40  = display transport debug
 | |
| 			0x80  = display allocation debug
 | |
| 			0x100 = display protocol message debug
 | |
| 			0x200 = display Fid debug
 | |
| 			0x400 = display packet debug
 | |
| 			0x800 = display fscache tracing debug
 | |
| 
 | |
|   rfdno=n	the file descriptor for reading with trans=fd
 | |
| 
 | |
|   wfdno=n	the file descriptor for writing with trans=fd
 | |
| 
 | |
|   msize=n	the number of bytes to use for 9p packet payload
 | |
| 
 | |
|   port=n	port to connect to on the remote server
 | |
| 
 | |
|   noextend	force legacy mode (no 9p2000.u or 9p2000.L semantics)
 | |
| 
 | |
|   version=name	Select 9P protocol version. Valid options are:
 | |
| 			9p2000          - Legacy mode (same as noextend)
 | |
| 			9p2000.u        - Use 9P2000.u protocol
 | |
| 			9p2000.L        - Use 9P2000.L protocol
 | |
| 
 | |
|   dfltuid	attempt to mount as a particular uid
 | |
| 
 | |
|   dfltgid	attempt to mount with a particular gid
 | |
| 
 | |
|   afid		security channel - used by Plan 9 authentication protocols
 | |
| 
 | |
|   nodevmap	do not map special files - represent them as normal files.
 | |
|   		This can be used to share devices/named pipes/sockets between
 | |
| 		hosts.  This functionality will be expanded in later versions.
 | |
| 
 | |
|   access	there are four access modes.
 | |
| 			user  = if a user tries to access a file on v9fs
 | |
| 			        filesystem for the first time, v9fs sends an
 | |
| 			        attach command (Tattach) for that user.
 | |
| 				This is the default mode.
 | |
| 			<uid> = allows only user with uid=<uid> to access
 | |
| 				the files on the mounted filesystem
 | |
| 			any   = v9fs does single attach and performs all
 | |
| 				operations as one user
 | |
| 			client = ACL based access check on the 9p client
 | |
| 			         side for access validation
 | |
| 
 | |
|   cachetag	cache tag to use the specified persistent cache.
 | |
| 		cache tags for existing cache sessions can be listed at
 | |
| 		/sys/fs/9p/caches. (applies only to cache=fscache)
 | |
| 
 | |
| RESOURCES
 | |
| =========
 | |
| 
 | |
| Protocol specifications are maintained on github:
 | |
| http://ericvh.github.com/9p-rfc/
 | |
| 
 | |
| 9p client and server implementations are listed on
 | |
| http://9p.cat-v.org/implementations
 | |
| 
 | |
| A 9p2000.L server is being developed by LLNL and can be found
 | |
| at http://code.google.com/p/diod/
 | |
| 
 | |
| There are user and developer mailing lists available through the v9fs project
 | |
| on sourceforge (http://sourceforge.net/projects/v9fs).
 | |
| 
 | |
| News and other information is maintained on a Wiki.
 | |
| (http://sf.net/apps/mediawiki/v9fs/index.php).
 | |
| 
 | |
| Bug reports may be issued through the kernel.org bugzilla 
 | |
| (http://bugzilla.kernel.org)
 | |
| 
 | |
| For more information on the Plan 9 Operating System check out
 | |
| http://plan9.bell-labs.com/plan9
 | |
| 
 | |
| For information on Plan 9 from User Space (Plan 9 applications and libraries
 | |
| ported to Linux/BSD/OSX/etc) check out http://swtch.com/plan9
 | |
| 
 | |
| 
 | |
| STATUS
 | |
| ======
 | |
| 
 | |
| The 2.6 kernel support is working on PPC and x86.
 | |
| 
 | |
| PLEASE USE THE KERNEL BUGZILLA TO REPORT PROBLEMS. (http://bugzilla.kernel.org)
 | |
| 
 |