linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Van Hensbergen <ericvh@kernel.org>
To: v9fs-developer@lists.sourceforge.net, asmadeus@codewreck.org,
	rminnich@gmail.com, lucho@ionkov.net
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux_oss@crudebyte.com, Eric Van Hensbergen <ericvh@kernel.org>
Subject: [PATCH v3 08/11] Add new mount modes
Date: Tue, 24 Jan 2023 02:38:31 +0000	[thread overview]
Message-ID: <20230124023834.106339-9-ericvh@kernel.org> (raw)
In-Reply-To: <20230124023834.106339-1-ericvh@kernel.org>

Add some additional mount modes for cache management including
specifying directio as a mount option and an option for ignore
qid.version for determining whether or not a file is cacheable.

Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
---
 fs/9p/v9fs.c | 16 ++++++++++++++--
 fs/9p/v9fs.h |  5 ++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c
index f8e952c013f9..43d3806150a9 100644
--- a/fs/9p/v9fs.c
+++ b/fs/9p/v9fs.c
@@ -38,7 +38,7 @@ enum {
 	/* String options */
 	Opt_uname, Opt_remotename, Opt_cache, Opt_cachetag,
 	/* Options that take no arguments */
-	Opt_nodevmap, Opt_noxattr,
+	Opt_nodevmap, Opt_noxattr, Opt_directio, Opt_ignoreqv,
 	/* Access options */
 	Opt_access, Opt_posixacl,
 	/* Lock timeout option */
@@ -56,6 +56,8 @@ static const match_table_t tokens = {
 	{Opt_remotename, "aname=%s"},
 	{Opt_nodevmap, "nodevmap"},
 	{Opt_noxattr, "noxattr"},
+	{Opt_directio, "directio"},
+	{Opt_ignoreqv, "ignoreqv"},
 	{Opt_cache, "cache=%s"},
 	{Opt_cachetag, "cachetag=%s"},
 	{Opt_access, "access=%s"},
@@ -125,7 +127,7 @@ int v9fs_show_options(struct seq_file *m, struct dentry *root)
 	if (v9ses->nodev)
 		seq_puts(m, ",nodevmap");
 	if (v9ses->cache)
-		seq_printf(m, ",%s", v9fs_cache_modes[v9ses->cache]);
+		seq_printf(m, ",cache=%s", v9fs_cache_modes[v9ses->cache]);
 #ifdef CONFIG_9P_FSCACHE
 	if (v9ses->cachetag && v9ses->cache == CACHE_FSCACHE)
 		seq_printf(m, ",cachetag=%s", v9ses->cachetag);
@@ -147,6 +149,10 @@ int v9fs_show_options(struct seq_file *m, struct dentry *root)
 		break;
 	}
 
+	if (v9ses->flags & V9FS_IGNORE_QV)
+		seq_puts(m, ",ignoreqv");
+	if (v9ses->flags & V9FS_DIRECT_IO)
+		seq_puts(m, ",directio");
 	if (v9ses->flags & V9FS_POSIX_ACL)
 		seq_puts(m, ",posixacl");
 
@@ -276,6 +282,12 @@ static int v9fs_parse_options(struct v9fs_session_info *v9ses, char *opts)
 		case Opt_noxattr:
 			v9ses->flags |= V9FS_NO_XATTR;
 			break;
+		case Opt_directio:
+			v9ses->flags |= V9FS_DIRECT_IO;
+			break;
+		case Opt_ignoreqv:
+			v9ses->flags |= V9FS_IGNORE_QV;
+			break;
 		case Opt_cachetag:
 #ifdef CONFIG_9P_FSCACHE
 			kfree(v9ses->cachetag);
diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h
index a08cf6618c86..c80c318ff31c 100644
--- a/fs/9p/v9fs.h
+++ b/fs/9p/v9fs.h
@@ -37,7 +37,10 @@ enum p9_session_flags {
 	V9FS_ACCESS_USER	= 0x08,
 	V9FS_ACCESS_CLIENT	= 0x10,
 	V9FS_POSIX_ACL		= 0x20,
-	V9FS_NO_XATTR		= 0x40
+	V9FS_NO_XATTR		= 0x40,
+	V9FS_IGNORE_QV		= 0x80,
+	V9FS_DIRECT_IO		= 0x100,
+	V9FS_SYNC			= 0x200
 };
 
 /* possible values of ->cache */
-- 
2.37.2


  parent reply	other threads:[~2023-01-24  2:40 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20221217183142.1425132-1-evanhensbergen@icloud.com>
2022-12-18 23:22 ` [PATCH v2 00/10] Performance fixes for 9p filesystem Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 01/10] Adjust maximum MSIZE to account for p9 header Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 02/10] Expand setup of writeback cache to all levels Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 03/10] Consolidate file operations and add readahead and writeback Eric Van Hensbergen
2023-01-24  2:43     ` asmadeus
2023-01-24  3:03       ` Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 04/10] Remove unnecessary superblock flags Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 05/10] allow disable of xattr support on mount Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 06/10] fix bug in client create for .L Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 07/10] Add additional debug flags and open modes Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 08/10] Add new mount modes Eric Van Hensbergen
2023-01-24  3:35     ` Amir Goldstein
2022-12-18 23:22   ` [PATCH v2 09/10] fix error reporting in v9fs_dir_release Eric Van Hensbergen
2022-12-18 23:22   ` [PATCH v2 10/10] writeback mode fixes Eric Van Hensbergen
2023-01-23 16:31   ` [PATCH v2 00/10] Performance fixes for 9p filesystem Christian Schoenebeck
2023-01-24  2:33     ` evanhensbergen
2023-01-24  2:49       ` asmadeus
2023-01-24  2:38   ` [PATCH v3 00/11] " Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 01/11] Adjust maximum MSIZE to account for p9 header Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 02/11] Expand setup of writeback cache to all levels Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 03/11] Consolidate file operations and add readahead and writeback Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 04/11] Remove unnecessary superblock flags Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 05/11] allow disable of xattr support on mount Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 06/11] fix bug in client create for .L Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 07/11] Add additional debug flags and open modes Eric Van Hensbergen
2023-01-24  2:38     ` Eric Van Hensbergen [this message]
2023-01-24  2:38     ` [PATCH v3 09/11] fix error reporting in v9fs_dir_release Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 10/11] writeback mode fixes Eric Van Hensbergen
2023-01-24  2:38     ` [PATCH v3 11/11] Fix revalidate Eric Van Hensbergen
2023-02-02 11:27     ` [PATCH v3 00/11] Performance fixes for 9p filesystem Christian Schoenebeck
2023-02-03 19:12       ` Eric Van Hensbergen
2023-02-04 13:40         ` Christian Schoenebeck
2023-02-04 21:38           ` Eric Van Hensbergen
2023-02-05 16:37       ` Eric Van Hensbergen
2023-02-06 13:20         ` Christian Schoenebeck
2023-02-06 13:37           ` Eric Van Hensbergen
2023-02-18  0:33     ` [PATCH v4 " Eric Van Hensbergen
2023-02-18  0:33       ` [PATCH v4 01/11] net/9p: Adjust maximum MSIZE to account for p9 header Eric Van Hensbergen
2023-02-18  7:50         ` asmadeus
2023-02-18  0:33       ` [PATCH v4 02/11] fs/9p: Expand setup of writeback cache to all levels Eric Van Hensbergen
2023-02-18  8:57         ` asmadeus
2023-02-18  0:33       ` [PATCH v4 03/11] fs/9p: Consolidate file operations and add readahead and writeback Eric Van Hensbergen
2023-02-18  9:24         ` asmadeus
2023-02-18 16:17           ` Eric Van Hensbergen
2023-02-18 16:19             ` Eric Van Hensbergen
2023-02-18 20:35               ` asmadeus
2023-02-27  2:50                 ` [PATCH v5 3/11] " Eric Van Hensbergen
2023-02-18  0:33       ` [PATCH v4 04/11] fs/9p: Remove unnecessary superblock flags Eric Van Hensbergen
2023-02-18  9:33         ` asmadeus
2023-02-18 16:24           ` Eric Van Hensbergen
2023-02-18 20:30             ` asmadeus
2023-02-18  0:33       ` [PATCH v4 05/11] fs/9p: allow disable of xattr support on mount Eric Van Hensbergen
2023-02-18  7:52         ` asmadeus
2023-02-18  0:33       ` [PATCH v4 06/11] net/9p: fix bug in client create for .L Eric Van Hensbergen
2023-02-18  8:01         ` asmadeus
2023-02-18  0:33       ` [PATCH v4 07/11] 9p: Add additional debug flags and open modes Eric Van Hensbergen
2023-02-18  8:05         ` asmadeus
2023-02-27  2:53           ` [PATCH v5 7/11] " Eric Van Hensbergen
2023-02-18  0:33       ` [PATCH v4 08/11] fs/9p: Add new mount modes Eric Van Hensbergen
2023-02-18  8:46         ` asmadeus
2023-02-27  2:55           ` [PATCH v5 8/11] " Eric Van Hensbergen
2023-02-18  0:33       ` [PATCH v4 09/11] fs/9p: fix error reporting in v9fs_dir_release Eric Van Hensbergen
2023-02-18  8:49         ` asmadeus
2023-02-18  0:33       ` [PATCH v4 10/11] fs/9p: writeback mode fixes Eric Van Hensbergen
2023-02-18  8:38         ` asmadeus
2023-02-18 10:01         ` asmadeus
2023-02-18 12:15           ` asmadeus
2023-02-18 16:40             ` Eric Van Hensbergen
2023-02-18 20:29               ` asmadeus
2023-03-21  1:12             ` Eric Van Hensbergen
2023-02-18 19:58           ` Christian Schoenebeck
2023-02-18 22:24             ` Eric Van Hensbergen
2023-02-18 23:40               ` asmadeus
2023-02-18 23:52                 ` Eric Van Hensbergen
2023-03-27  2:59         ` [PATCH v5] fs/9p: remove writeback fid and fix per-file modes Eric Van Hensbergen
2023-04-25  7:11           ` Christophe JAILLET
2023-04-25 11:13             ` asmadeus
2023-04-26  0:01             ` Eric Van Hensbergen
2023-02-18  0:33       ` [PATCH v4 11/11] fs/9p: Fix revalidate Eric Van Hensbergen
2023-02-18  8:55         ` asmadeus
2023-02-18  7:48       ` [PATCH v4 00/11] Performance fixes for 9p filesystem asmadeus
2023-02-19 21:36       ` Christian Schoenebeck
2023-02-20  1:13         ` Eric Van Hensbergen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230124023834.106339-9-ericvh@kernel.org \
    --to=ericvh@kernel.org \
    --cc=asmadeus@codewreck.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux_oss@crudebyte.com \
    --cc=lucho@ionkov.net \
    --cc=rminnich@gmail.com \
    --cc=v9fs-developer@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).