summaryrefslogtreecommitdiffstats
path: root/include/net/9p
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2017-07-05 11:25:37 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2017-07-11 06:08:58 -0400
commitc4fac9100456995c10b65c13be84554258ed7fc8 (patch)
treeea395c955dfac2337eff1a4608caea5f3a26701b /include/net/9p
parent86a1da6d30ad727c2a9cc5d6a51bff6d830036b5 (diff)
9p: Implement show_options
Implement the show_options superblock op for 9p as part of a bid to get rid of s_options and generic_show_options() to make it easier to implement a context-based mount where the mount options can be passed individually over a file descriptor. Signed-off-by: David Howells <dhowells@redhat.com> cc: Eric Van Hensbergen <ericvh@gmail.com> cc: Ron Minnich <rminnich@sandia.gov> cc: Latchesar Ionkov <lucho@ionkov.net> cc: v9fs-developer@lists.sourceforge.net Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/net/9p')
-rw-r--r--include/net/9p/client.h13
-rw-r--r--include/net/9p/transport.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/include/net/9p/client.h b/include/net/9p/client.h
index b582339ccef5..7af9d769b97d 100644
--- a/include/net/9p/client.h
+++ b/include/net/9p/client.h
@@ -157,6 +157,18 @@ struct p9_client {
157 enum p9_trans_status status; 157 enum p9_trans_status status;
158 void *trans; 158 void *trans;
159 159
160 union {
161 struct {
162 int rfd;
163 int wfd;
164 } fd;
165 struct {
166 u16 port;
167 bool privport;
168
169 } tcp;
170 } trans_opts;
171
160 struct p9_idpool *fidpool; 172 struct p9_idpool *fidpool;
161 struct list_head fidlist; 173 struct list_head fidlist;
162 174
@@ -213,6 +225,7 @@ struct p9_dirent {
213 225
214struct iov_iter; 226struct iov_iter;
215 227
228int p9_show_client_options(struct seq_file *m, struct p9_client *clnt);
216int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb); 229int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb);
217int p9_client_rename(struct p9_fid *fid, struct p9_fid *newdirfid, 230int p9_client_rename(struct p9_fid *fid, struct p9_fid *newdirfid,
218 const char *name); 231 const char *name);
diff --git a/include/net/9p/transport.h b/include/net/9p/transport.h
index 5122b5e40f78..1625fb842ac4 100644
--- a/include/net/9p/transport.h
+++ b/include/net/9p/transport.h
@@ -62,6 +62,7 @@ struct p9_trans_module {
62 int (*cancelled)(struct p9_client *, struct p9_req_t *req); 62 int (*cancelled)(struct p9_client *, struct p9_req_t *req);
63 int (*zc_request)(struct p9_client *, struct p9_req_t *, 63 int (*zc_request)(struct p9_client *, struct p9_req_t *,
64 struct iov_iter *, struct iov_iter *, int , int, int); 64 struct iov_iter *, struct iov_iter *, int , int, int);
65 int (*show_options)(struct seq_file *, struct p9_client *);
65}; 66};
66 67
67void v9fs_register_trans(struct p9_trans_module *m); 68void v9fs_register_trans(struct p9_trans_module *m);