aboutsummaryrefslogtreecommitdiffstats
path: root/fs/9p/v9fs.h
diff options
context:
space:
mode:
authorEric Van Hensbergen <ericvh@opteron.(none)>2007-10-17 15:31:07 -0400
committerEric Van Hensbergen <ericvh@ericvh-desktop.austin.ibm.com>2007-10-17 15:31:07 -0400
commita80d923e1321a7ed69a0918de37e39871bb536a0 (patch)
tree8294e5f14a0e938ae4675ef912a32fbade0f832b /fs/9p/v9fs.h
parent0eafaae84e21ac033815cc9f33c3ae889cd7ccfe (diff)
9p: Make transports dynamic
This patch abstracts out the interfaces to underlying transports so that new transports can be added as modules. This should also allow kernel configuration of transports without ifdef-hell. Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p/v9fs.h')
-rw-r--r--fs/9p/v9fs.h15
1 files changed, 2 insertions, 13 deletions
diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h
index abc4b1668ace..7eb135cf60ca 100644
--- a/fs/9p/v9fs.h
+++ b/fs/9p/v9fs.h
@@ -31,31 +31,20 @@ struct v9fs_session_info {
31 unsigned int maxdata; 31 unsigned int maxdata;
32 unsigned char extended; /* set to 1 if we are using UNIX extensions */ 32 unsigned char extended; /* set to 1 if we are using UNIX extensions */
33 unsigned char nodev; /* set to 1 if no disable device mapping */ 33 unsigned char nodev; /* set to 1 if no disable device mapping */
34 unsigned short port; /* port to connect to */
35 unsigned short debug; /* debug level */ 34 unsigned short debug; /* debug level */
36 unsigned short proto; /* protocol to use */
37 unsigned int afid; /* authentication fid */ 35 unsigned int afid; /* authentication fid */
38 unsigned int rfdno; /* read file descriptor number */
39 unsigned int wfdno; /* write file descriptor number */
40 unsigned int cache; /* cache mode */ 36 unsigned int cache; /* cache mode */
41 37
38 char *options; /* copy of mount options */
42 char *name; /* user name to mount as */ 39 char *name; /* user name to mount as */
43 char *remotename; /* name of remote hierarchy being mounted */ 40 char *remotename; /* name of remote hierarchy being mounted */
44 unsigned int uid; /* default uid/muid for legacy support */ 41 unsigned int uid; /* default uid/muid for legacy support */
45 unsigned int gid; /* default gid for legacy support */ 42 unsigned int gid; /* default gid for legacy support */
46 43 struct p9_trans_module *trans; /* 9p transport */
47 struct p9_client *clnt; /* 9p client */ 44 struct p9_client *clnt; /* 9p client */
48 struct dentry *debugfs_dir; 45 struct dentry *debugfs_dir;
49}; 46};
50 47
51/* possible values of ->proto */
52enum {
53 PROTO_TCP,
54 PROTO_UNIX,
55 PROTO_FD,
56 PROTO_PCI,
57};
58
59/* possible values of ->cache */ 48/* possible values of ->cache */
60/* eventually support loose, tight, time, session, default always none */ 49/* eventually support loose, tight, time, session, default always none */
61enum { 50enum {