[PATCH] v9fs: new multiplexer implementation
New multiplexer implementation. Decreases the number of kernel threads required. Better handling when the user process receives a signal. Signed-off-by: Latchesar Ionkov <lucho@ionkov.net> Cc: Eric Van Hensbergen <ericvh@ericvh.myip.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

父節點
f5ef3c105b
當前提交
3cf6429a26
17
fs/9p/v9fs.h
17
fs/9p/v9fs.h
@@ -57,24 +57,14 @@ struct v9fs_session_info {
|
||||
|
||||
/* book keeping */
|
||||
struct v9fs_idpool fidpool; /* The FID pool for file descriptors */
|
||||
struct v9fs_idpool tidpool; /* The TID pool for transactions ids */
|
||||
|
||||
/* transport information */
|
||||
struct v9fs_transport *transport;
|
||||
struct v9fs_mux_data *mux;
|
||||
|
||||
int inprogress; /* session in progress => true */
|
||||
int shutdown; /* session shutting down. no more attaches. */
|
||||
unsigned char session_hung;
|
||||
|
||||
/* mux private data */
|
||||
struct v9fs_fcall *curfcall;
|
||||
wait_queue_head_t read_wait;
|
||||
struct completion fcread;
|
||||
struct completion proccmpl;
|
||||
struct task_struct *recvproc;
|
||||
|
||||
spinlock_t muxlock;
|
||||
struct list_head mux_fcalls;
|
||||
struct dentry *debugfs_dir;
|
||||
};
|
||||
|
||||
/* possible values of ->proto */
|
||||
@@ -84,11 +74,14 @@ enum {
|
||||
PROTO_FD,
|
||||
};
|
||||
|
||||
extern struct dentry *v9fs_debugfs_root;
|
||||
|
||||
int v9fs_session_init(struct v9fs_session_info *, const char *, char *);
|
||||
struct v9fs_session_info *v9fs_inode2v9ses(struct inode *);
|
||||
void v9fs_session_close(struct v9fs_session_info *v9ses);
|
||||
int v9fs_get_idpool(struct v9fs_idpool *p);
|
||||
void v9fs_put_idpool(int id, struct v9fs_idpool *p);
|
||||
int v9fs_check_idpool(int id, struct v9fs_idpool *p);
|
||||
void v9fs_session_cancel(struct v9fs_session_info *v9ses);
|
||||
|
||||
#define V9FS_MAGIC 0x01021997
|
||||
|
Reference in New Issue
Block a user