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

Commit 2874b391 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: implement optional loose read cache
  9p: Use kthread_stop instead of sending a SIGKILL.
parents 5fc77247 e03abc0c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ Exporting
	- explanation of how to make filesystems exportable.
Locking
	- info on locking rules as they pertain to Linux VFS.
9p.txt
	- 9p (v9fs) is an implementation of the Plan 9 remote fs protocol.
adfs.txt
	- info and mount options for the Acorn Advanced Disc Filing System.
afs.txt
@@ -82,8 +84,6 @@ udf.txt
	- info and mount options for the UDF filesystem.
ufs.txt
	- info on the ufs filesystem.
v9fs.txt
	- v9fs is a Unix implementation of the Plan 9 9p remote fs protocol.
vfat.txt
	- info on using the VFAT filesystem used in Windows NT and Windows 95
vfs.txt
+4 −0
Original line number Diff line number Diff line
@@ -40,6 +40,10 @@ OPTIONS
  aname=name	aname specifies the file tree to access when the server is
  		offering several exported file systems.

  cache=mode	specifies a cacheing policy.  By default, no caches are used.
			loose = no attempts are made at consistency,
                                intended for exclusive, read-only mounts

  debug=n	specifies debug level.  The debug level is a bitmask.
  			0x01 = display verbose error messages
			0x02 = developer debug (DEBUG_CURRENT)
+2 −1
Original line number Diff line number Diff line
@@ -136,7 +136,8 @@ struct v9fs_fid *v9fs_fid_lookup(struct dentry *dentry)
}

/**
 * v9fs_fid_clone - lookup the fid for a dentry, clone a private copy and release it
 * v9fs_fid_clone - lookup the fid for a dentry, clone a private copy and
 * 			release it
 * @dentry: dentry to look for fid in
 *
 * find a fid in the dentry and then clone to a new private fid
+1 −4
Original line number Diff line number Diff line
@@ -256,7 +256,7 @@ static void v9fs_mux_poll_stop(struct v9fs_mux_data *m)
	vpt->muxnum--;
	if (!vpt->muxnum) {
		dprintk(DEBUG_MUX, "destroy proc %p\n", vpt);
		send_sig(SIGKILL, vpt->task, 1);
		kthread_stop(vpt->task);
		vpt->task = NULL;
		v9fs_mux_poll_task_num--;
	}
@@ -438,11 +438,8 @@ static int v9fs_poll_proc(void *a)

	vpt = a;
	dprintk(DEBUG_MUX, "start %p %p\n", current, vpt);
	allow_signal(SIGKILL);
	while (!kthread_should_stop()) {
		set_current_state(TASK_INTERRUPTIBLE);
		if (signal_pending(current))
			break;

		list_for_each_entry_safe(m, mtmp, &vpt->mux_list, mux_list) {
			v9fs_poll_mux(m);
+8 −1
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@ enum {
	Opt_uname, Opt_remotename,
	/* Options that take no arguments */
	Opt_legacy, Opt_nodevmap, Opt_unix, Opt_tcp, Opt_fd,
	/* Cache options */
	Opt_cache_loose,
	/* Error token */
	Opt_err
};
@@ -76,6 +78,8 @@ static match_table_t tokens = {
	{Opt_fd, "fd"},
	{Opt_legacy, "noextend"},
	{Opt_nodevmap, "nodevmap"},
	{Opt_cache_loose, "cache=loose"},
	{Opt_cache_loose, "loose"},
	{Opt_err, NULL}
};

@@ -106,6 +110,7 @@ static void v9fs_parse_options(char *options, struct v9fs_session_info *v9ses)
	v9ses->debug = 0;
	v9ses->rfdno = ~0;
	v9ses->wfdno = ~0;
	v9ses->cache = 0;

	if (!options)
		return;
@@ -121,7 +126,6 @@ static void v9fs_parse_options(char *options, struct v9fs_session_info *v9ses)
					"integer field, but no integer?\n");
				continue;
			}

		}
		switch (token) {
		case Opt_port:
@@ -169,6 +173,9 @@ static void v9fs_parse_options(char *options, struct v9fs_session_info *v9ses)
		case Opt_nodevmap:
			v9ses->nodev = 1;
			break;
		case Opt_cache_loose:
			v9ses->cache = CACHE_LOOSE;
			break;
		default:
			continue;
		}
Loading