diff options
author | Latchesar Ionkov <lucho@ionkov.net> | 2007-07-10 18:57:28 -0400 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@ericvh-desktop.austin.ibm.com> | 2007-07-14 16:13:40 -0400 |
commit | bd238fb431f31989898423c8b6496bc8c4204a86 (patch) | |
tree | f85a536383cbf360125ecb0592f6c515e0ecf0ff /fs/9p/v9fs.h | |
parent | 8d9107e8c50e1c4ff43c91c8841805833f3ecfb9 (diff) |
9p: Reorganization of 9p file system code
This patchset moves non-filesystem interfaces of v9fs from fs/9p to net/9p.
It moves the transport, packet marshalling and connection layers to net/9p
leaving only the VFS related files in fs/9p. This work is being done in
preparation for in-kernel 9p servers as well as alternate 9p clients (other
than VFS).
Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p/v9fs.h')
-rw-r--r-- | fs/9p/v9fs.h | 32 |
1 files changed, 8 insertions, 24 deletions
diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h index 820bf5ca35d8..abc4b1668ace 100644 --- a/fs/9p/v9fs.h +++ b/fs/9p/v9fs.h | |||
@@ -22,16 +22,6 @@ | |||
22 | */ | 22 | */ |
23 | 23 | ||
24 | /* | 24 | /* |
25 | * Idpool structure provides lock and id management | ||
26 | * | ||
27 | */ | ||
28 | |||
29 | struct v9fs_idpool { | ||
30 | struct semaphore lock; | ||
31 | struct idr pool; | ||
32 | }; | ||
33 | |||
34 | /* | ||
35 | * Session structure provides information for an opened session | 25 | * Session structure provides information for an opened session |
36 | * | 26 | * |
37 | */ | 27 | */ |
@@ -54,15 +44,7 @@ struct v9fs_session_info { | |||
54 | unsigned int uid; /* default uid/muid for legacy support */ | 44 | unsigned int uid; /* default uid/muid for legacy support */ |
55 | unsigned int gid; /* default gid for legacy support */ | 45 | unsigned int gid; /* default gid for legacy support */ |
56 | 46 | ||
57 | /* book keeping */ | 47 | struct p9_client *clnt; /* 9p client */ |
58 | struct v9fs_idpool fidpool; /* The FID pool for file descriptors */ | ||
59 | |||
60 | struct v9fs_transport *transport; | ||
61 | struct v9fs_mux_data *mux; | ||
62 | |||
63 | int inprogress; /* session in progress => true */ | ||
64 | int shutdown; /* session shutting down. no more attaches. */ | ||
65 | unsigned char session_hung; | ||
66 | struct dentry *debugfs_dir; | 48 | struct dentry *debugfs_dir; |
67 | }; | 49 | }; |
68 | 50 | ||
@@ -71,6 +53,7 @@ enum { | |||
71 | PROTO_TCP, | 53 | PROTO_TCP, |
72 | PROTO_UNIX, | 54 | PROTO_UNIX, |
73 | PROTO_FD, | 55 | PROTO_FD, |
56 | PROTO_PCI, | ||
74 | }; | 57 | }; |
75 | 58 | ||
76 | /* possible values of ->cache */ | 59 | /* possible values of ->cache */ |
@@ -82,12 +65,9 @@ enum { | |||
82 | 65 | ||
83 | extern struct dentry *v9fs_debugfs_root; | 66 | extern struct dentry *v9fs_debugfs_root; |
84 | 67 | ||
85 | int v9fs_session_init(struct v9fs_session_info *, const char *, char *); | 68 | struct p9_fid *v9fs_session_init(struct v9fs_session_info *, const char *, |
86 | struct v9fs_session_info *v9fs_inode2v9ses(struct inode *); | 69 | char *); |
87 | void v9fs_session_close(struct v9fs_session_info *v9ses); | 70 | void v9fs_session_close(struct v9fs_session_info *v9ses); |
88 | int v9fs_get_idpool(struct v9fs_idpool *p); | ||
89 | void v9fs_put_idpool(int id, struct v9fs_idpool *p); | ||
90 | int v9fs_check_idpool(int id, struct v9fs_idpool *p); | ||
91 | void v9fs_session_cancel(struct v9fs_session_info *v9ses); | 71 | void v9fs_session_cancel(struct v9fs_session_info *v9ses); |
92 | 72 | ||
93 | #define V9FS_MAGIC 0x01021997 | 73 | #define V9FS_MAGIC 0x01021997 |
@@ -97,3 +77,7 @@ void v9fs_session_cancel(struct v9fs_session_info *v9ses); | |||
97 | #define V9FS_DEFUSER "nobody" | 77 | #define V9FS_DEFUSER "nobody" |
98 | #define V9FS_DEFANAME "" | 78 | #define V9FS_DEFANAME "" |
99 | 79 | ||
80 | static inline struct v9fs_session_info *v9fs_inode2v9ses(struct inode *inode) | ||
81 | { | ||
82 | return (inode->i_sb->s_fs_info); | ||
83 | } | ||