Commit 0542170d 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: fix bad error path in conversion routines
  9p: remove deprecated v9fs_fid_lookup_remove()
  9p: update maintainers and documentation
  9p: fix use after free
parents 6dc2c1b7 02881d94
Loading
Loading
Loading
Loading
+19 −5
Original line number Original line Diff line number Diff line
@@ -6,12 +6,26 @@ ABOUT


v9fs is a Unix implementation of the Plan 9 9p remote filesystem protocol.
v9fs is a Unix implementation of the Plan 9 9p remote filesystem protocol.


This software was originally developed by Ron Minnich <rminnich@lanl.gov>
This software was originally developed by Ron Minnich <rminnich@sandia.gov>
and Maya Gokhale <maya@lanl.gov>.  Additional development by Greg Watson
and Maya Gokhale.  Additional development by Greg Watson
<gwatson@lanl.gov> and most recently Eric Van Hensbergen
<gwatson@lanl.gov> and most recently Eric Van Hensbergen
<ericvh@gmail.com>, Latchesar Ionkov <lucho@ionkov.net> and Russ Cox
<ericvh@gmail.com>, Latchesar Ionkov <lucho@ionkov.net> and Russ Cox
<rsc@swtch.com>.
<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://www.xcpu.org/xcpu-talk.pdf
	* KVMFS: control file system for KVM
		http://www.xcpu.org/kvmfs.pdf
	* CellFS: A New ProgrammingModel for the Cell BE
		http://www.xcpu.org/cellfs-talk.pdf
	* PROSE I/O: Using 9p to enable Application Partitions
		http://plan9.escet.urjc.es/iwp9/cready/PROSE_iwp9_2006.pdf

USAGE
USAGE
=====
=====


@@ -90,9 +104,9 @@ subset of the namespace by extending the path: '#U*'/tmp would just export
and export.
and export.


A Linux version of the 9p server is now maintained under the npfs project
A Linux version of the 9p server is now maintained under the npfs project
on sourceforge (http://sourceforge.net/projects/npfs).  There is also a
on sourceforge (http://sourceforge.net/projects/npfs).  The currently
more stable single-threaded version of the server (named spfs) available from
maintained version is the single-threaded version of the server (named spfs)
the same CVS repository.
available from the same CVS repository.


There are user and developer mailing lists available through the v9fs project
There are user and developer mailing lists available through the v9fs project
on sourceforge (http://sourceforge.net/projects/v9fs).
on sourceforge (http://sourceforge.net/projects/v9fs).
+2 −2
Original line number Original line Diff line number Diff line
@@ -167,11 +167,11 @@ S: Maintained
P:	Eric Van Hensbergen
P:	Eric Van Hensbergen
M:	ericvh@gmail.com
M:	ericvh@gmail.com
P:	Ron Minnich
P:	Ron Minnich
M:	rminnich@lanl.gov
M:	rminnich@sandia.gov
P:	Latchesar Ionkov
P:	Latchesar Ionkov
M:	lucho@ionkov.net
M:	lucho@ionkov.net
L:	v9fs-developer@lists.sourceforge.net
L:	v9fs-developer@lists.sourceforge.net
W:	http://v9fs.sf.net
W:	http://swik.net/v9fs
T:	git kernel.org:/pub/scm/linux/kernel/ericvh/v9fs.git
T:	git kernel.org:/pub/scm/linux/kernel/ericvh/v9fs.git
S:	Maintained
S:	Maintained


+0 −17
Original line number Original line Diff line number Diff line
@@ -92,23 +92,6 @@ struct p9_fid *v9fs_fid_lookup(struct dentry *dentry)
	return fid;
	return fid;
}
}


struct p9_fid *v9fs_fid_lookup_remove(struct dentry *dentry)
{
	struct p9_fid *fid;
	struct v9fs_dentry *dent;

	dent = dentry->d_fsdata;
	fid = v9fs_fid_lookup(dentry);
	if (!IS_ERR(fid)) {
		spin_lock(&dent->lock);
		list_del(&fid->dlist);
		spin_unlock(&dent->lock);
	}

	return fid;
}


/**
/**
 * v9fs_fid_clone - lookup the fid for a dentry, clone a private copy and
 * v9fs_fid_clone - lookup the fid for a dentry, clone a private copy and
 * 	release it
 * 	release it
+0 −1
Original line number Original line Diff line number Diff line
@@ -28,6 +28,5 @@ struct v9fs_dentry {
};
};


struct p9_fid *v9fs_fid_lookup(struct dentry *dentry);
struct p9_fid *v9fs_fid_lookup(struct dentry *dentry);
struct p9_fid *v9fs_fid_lookup_remove(struct dentry *dentry);
struct p9_fid *v9fs_fid_clone(struct dentry *dentry);
struct p9_fid *v9fs_fid_clone(struct dentry *dentry);
int v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid);
int v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid);
+1 −0
Original line number Original line Diff line number Diff line
@@ -796,6 +796,7 @@ struct p9_fcall *p9_create_twrite_u(u32 fid, u64 offset, u32 count,
	if (err) {
	if (err) {
		kfree(fc);
		kfree(fc);
		fc = ERR_PTR(err);
		fc = ERR_PTR(err);
		goto error;
	}
	}


	if (buf_check_overflow(bufp)) {
	if (buf_check_overflow(bufp)) {
Loading