Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a651c7f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  9p: update Documentation pointers
  net/9p: enable 9p to work in non-default network namespace
  net/9p: p9_idpool_get return -1 on error
  fs/9p: Don't clunk dentry fid when we fail to get a writeback inode
  9p: Small cleanup in <net/9p/9p.h>
  9p: remove experimental tag from tested configurations
  9p: typo fixes and minor cleanups
  net/9p: Change linuxdoc names to match functions.
parents c88bc60a ee294bed
Loading
Loading
Loading
Loading
+10 −19
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ Other applications are described in the following papers:
		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
=====
@@ -130,31 +132,20 @@ OPTIONS
RESOURCES
=========

Our current recommendation is to use Inferno (http://www.vitanuova.com/nferno/index.html)
as the 9p server.  You can start a 9p server under Inferno by issuing the
following command:
   ; styxlisten -A tcp!*!564 export '#U*'
Protocol specifications are maintained on github:
http://ericvh.github.com/9p-rfc/

The -A specifies an unauthenticated export.  The 564 is the port # (you may
have to choose a higher port number if running as a normal user).  The '#U*'
specifies exporting the root of the Linux name space.  You may specify a
subset of the namespace by extending the path: '#U*'/tmp would just export
/tmp.  For more information, see the Inferno manual pages covering styxlisten
and export.
9p client and server implementations are listed on
http://9p.cat-v.org/implementations

A Linux version of the 9p server is now maintained under the npfs project
on sourceforge (http://sourceforge.net/projects/npfs).  The currently
maintained version is the single-threaded version of the server (named spfs)
available from the same SVN repository.
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).

A stand-alone version of the module (which should build for any 2.6 kernel)
is available via (http://github.com/ericvh/9p-sac/tree/master)

News and other information is maintained on SWiK (http://swik.net/v9fs)
and the Wiki (http://sf.net/apps/mediawiki/v9fs/index.php).
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)
+2 −3
Original line number Diff line number Diff line
config 9P_FS
	tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
	depends on INET && NET_9P && EXPERIMENTAL
	tristate "Plan 9 Resource Sharing Support (9P2000)"
	depends on INET && NET_9P
	help
	  If you say Y here, you will get experimental support for
	  Plan 9 resource sharing via the 9P2000 protocol.
@@ -10,7 +10,6 @@ config 9P_FS
	  If unsure, say N.

if 9P_FS

config 9P_FSCACHE
	bool "Enable 9P client caching support (EXPERIMENTAL)"
	depends on EXPERIMENTAL
+6 −5
Original line number Diff line number Diff line
@@ -259,7 +259,7 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
		if (IS_ERR(inode_fid)) {
			err = PTR_ERR(inode_fid);
			mutex_unlock(&v9inode->v_mutex);
			goto error;
			goto err_clunk_old_fid;
		}
		v9inode->writeback_fid = (void *) inode_fid;
	}
@@ -267,8 +267,8 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
	/* Since we are opening a file, assign the open fid to the file */
	filp = lookup_instantiate_filp(nd, dentry, generic_file_open);
	if (IS_ERR(filp)) {
		p9_client_clunk(ofid);
		return PTR_ERR(filp);
		err = PTR_ERR(filp);
		goto err_clunk_old_fid;
	}
	filp->private_data = ofid;
#ifdef CONFIG_9P_FSCACHE
@@ -278,10 +278,11 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
	return 0;

error:
	if (ofid)
		p9_client_clunk(ofid);
	if (fid)
		p9_client_clunk(fid);
err_clunk_old_fid:
	if (ofid)
		p9_client_clunk(ofid);
	return err;
}

+6 −7
Original line number Diff line number Diff line
@@ -241,10 +241,10 @@ enum p9_open_mode_t {

/**
 * enum p9_perm_t - 9P permissions
 * @P9_DMDIR: mode bite for directories
 * @P9_DMDIR: mode bit for directories
 * @P9_DMAPPEND: mode bit for is append-only
 * @P9_DMEXCL: mode bit for excluse use (only one open handle allowed)
 * @P9_DMMOUNT: mode bite for mount points
 * @P9_DMMOUNT: mode bit for mount points
 * @P9_DMAUTH: mode bit for authentication file
 * @P9_DMTMP: mode bit for non-backed-up files
 * @P9_DMSYMLINK: mode bit for symbolic links (9P2000.u)
@@ -362,7 +362,7 @@ struct p9_qid {
};

/**
 * struct p9_stat - file system metadata information
 * struct p9_wstat - file system metadata information
 * @size: length prefix for this stat structure instance
 * @type: the type of the server (equivalent to a major number)
 * @dev: the sub-type of the server (equivalent to a minor number)
@@ -690,7 +690,7 @@ struct p9_rwstat {
 * @offset: used by marshalling routines to track current position in buffer
 * @capacity: used by marshalling routines to track total malloc'd capacity
 * @pubuf: Payload user buffer given by the caller
 * @pubuf: Payload kernel buffer given by the caller
 * @pkbuf: Payload kernel buffer given by the caller
 * @pbuf_size: pubuf/pkbuf(only one will be !NULL) size to be read/write.
 * @private: For transport layer's use.
 * @sdata: payload
@@ -714,7 +714,7 @@ struct p9_fcall {
	size_t pbuf_size;
	void *private;

	uint8_t *sdata;
	u8 *sdata;
};

struct p9_idpool;
@@ -728,7 +728,6 @@ void p9_idpool_put(int id, struct p9_idpool *p);
int p9_idpool_check(int id, struct p9_idpool *p);

int p9_error_init(void);
int p9_errstr2errno(char *, int);
int p9_trans_fd_init(void);
void p9_trans_fd_exit(void);
#endif /* NET_9P_H */
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ enum p9_trans_status {
};

/**
 * enum p9_req_status_t - virtio request status
 * enum p9_req_status_t - status of a request
 * @REQ_STATUS_IDLE: request slot unused
 * @REQ_STATUS_ALLOC: request has been allocated but not sent
 * @REQ_STATUS_UNSENT: request waiting to be sent
Loading