diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-26 08:20:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-26 08:20:53 -0400 |
commit | e33bae14fd8da449d735552d78e6dd33ece0458c (patch) | |
tree | 048c062c47f7bfdb0ea8ad19c5b5849a58ff3022 /include/net | |
parent | 7670c7010c7b367ca40c3aba02afb36149764a6e (diff) | |
parent | 14211d026dad4641d4dffd7a4c520bcaa8fd4a65 (diff) |
Merge branch 'for-linus' of git://github.com/ericvh/linux
* 'for-linus' of git://github.com/ericvh/linux:
9p: fix 9p.txt to advertise msize instead of maxdata
net/9p: Convert net/9p protocol dumps to tracepoints
fs/9p: change an int to unsigned int
fs/9p: Cleanup option parsing in 9p
9p: move dereference after NULL check
fs/9p: inode file operation is properly initialized init_special_inode
fs/9p: Update zero-copy implementation in 9p
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/9p/9p.h | 14 | ||||
-rw-r--r-- | include/net/9p/client.h | 8 | ||||
-rw-r--r-- | include/net/9p/transport.h | 10 |
3 files changed, 9 insertions, 23 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index a6326ef8ade6..2d70b95b3b55 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h | |||
@@ -76,11 +76,8 @@ do { \ | |||
76 | } \ | 76 | } \ |
77 | } while (0) | 77 | } while (0) |
78 | 78 | ||
79 | #define P9_DUMP_PKT(way, pdu) p9pdu_dump(way, pdu) | ||
80 | |||
81 | #else | 79 | #else |
82 | #define P9_DPRINTK(level, format, arg...) do { } while (0) | 80 | #define P9_DPRINTK(level, format, arg...) do { } while (0) |
83 | #define P9_DUMP_PKT(way, pdu) do { } while (0) | ||
84 | #endif | 81 | #endif |
85 | 82 | ||
86 | 83 | ||
@@ -359,6 +356,9 @@ enum p9_qid_t { | |||
359 | /* Room for readdir header */ | 356 | /* Room for readdir header */ |
360 | #define P9_READDIRHDRSZ 24 | 357 | #define P9_READDIRHDRSZ 24 |
361 | 358 | ||
359 | /* size of header for zero copy read/write */ | ||
360 | #define P9_ZC_HDR_SZ 4096 | ||
361 | |||
362 | /** | 362 | /** |
363 | * struct p9_qid - file system entity information | 363 | * struct p9_qid - file system entity information |
364 | * @type: 8-bit type &p9_qid_t | 364 | * @type: 8-bit type &p9_qid_t |
@@ -555,10 +555,6 @@ struct p9_rstatfs { | |||
555 | * @tag: transaction id of the request | 555 | * @tag: transaction id of the request |
556 | * @offset: used by marshalling routines to track current position in buffer | 556 | * @offset: used by marshalling routines to track current position in buffer |
557 | * @capacity: used by marshalling routines to track total malloc'd capacity | 557 | * @capacity: used by marshalling routines to track total malloc'd capacity |
558 | * @pubuf: Payload user buffer given by the caller | ||
559 | * @pkbuf: Payload kernel buffer given by the caller | ||
560 | * @pbuf_size: pubuf/pkbuf(only one will be !NULL) size to be read/write. | ||
561 | * @private: For transport layer's use. | ||
562 | * @sdata: payload | 558 | * @sdata: payload |
563 | * | 559 | * |
564 | * &p9_fcall represents the structure for all 9P RPC | 560 | * &p9_fcall represents the structure for all 9P RPC |
@@ -575,10 +571,6 @@ struct p9_fcall { | |||
575 | 571 | ||
576 | size_t offset; | 572 | size_t offset; |
577 | size_t capacity; | 573 | size_t capacity; |
578 | char __user *pubuf; | ||
579 | char *pkbuf; | ||
580 | size_t pbuf_size; | ||
581 | void *private; | ||
582 | 574 | ||
583 | u8 *sdata; | 575 | u8 *sdata; |
584 | }; | 576 | }; |
diff --git a/include/net/9p/client.h b/include/net/9p/client.h index 55ce72ce9861..fc9b90b0c052 100644 --- a/include/net/9p/client.h +++ b/include/net/9p/client.h | |||
@@ -151,7 +151,7 @@ struct p9_req_t { | |||
151 | 151 | ||
152 | struct p9_client { | 152 | struct p9_client { |
153 | spinlock_t lock; /* protect client structure */ | 153 | spinlock_t lock; /* protect client structure */ |
154 | int msize; | 154 | unsigned int msize; |
155 | unsigned char proto_version; | 155 | unsigned char proto_version; |
156 | struct p9_trans_module *trans_mod; | 156 | struct p9_trans_module *trans_mod; |
157 | enum p9_trans_status status; | 157 | enum p9_trans_status status; |
@@ -240,8 +240,8 @@ int p9_client_read(struct p9_fid *fid, char *data, char __user *udata, | |||
240 | int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata, | 240 | int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata, |
241 | u64 offset, u32 count); | 241 | u64 offset, u32 count); |
242 | int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset); | 242 | int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset); |
243 | int p9dirent_read(char *buf, int len, struct p9_dirent *dirent, | 243 | int p9dirent_read(struct p9_client *clnt, char *buf, int len, |
244 | int proto_version); | 244 | struct p9_dirent *dirent); |
245 | struct p9_wstat *p9_client_stat(struct p9_fid *fid); | 245 | struct p9_wstat *p9_client_stat(struct p9_fid *fid); |
246 | int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst); | 246 | int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst); |
247 | int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *attr); | 247 | int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *attr); |
@@ -259,7 +259,7 @@ struct p9_req_t *p9_tag_lookup(struct p9_client *, u16); | |||
259 | void p9_client_cb(struct p9_client *c, struct p9_req_t *req); | 259 | void p9_client_cb(struct p9_client *c, struct p9_req_t *req); |
260 | 260 | ||
261 | int p9_parse_header(struct p9_fcall *, int32_t *, int8_t *, int16_t *, int); | 261 | int p9_parse_header(struct p9_fcall *, int32_t *, int8_t *, int16_t *, int); |
262 | int p9stat_read(char *, int, struct p9_wstat *, int); | 262 | int p9stat_read(struct p9_client *, char *, int, struct p9_wstat *); |
263 | void p9stat_free(struct p9_wstat *); | 263 | void p9stat_free(struct p9_wstat *); |
264 | 264 | ||
265 | int p9_is_proto_dotu(struct p9_client *clnt); | 265 | int p9_is_proto_dotu(struct p9_client *clnt); |
diff --git a/include/net/9p/transport.h b/include/net/9p/transport.h index 83531ebeee99..adcbb20f6511 100644 --- a/include/net/9p/transport.h +++ b/include/net/9p/transport.h | |||
@@ -26,13 +26,6 @@ | |||
26 | #ifndef NET_9P_TRANSPORT_H | 26 | #ifndef NET_9P_TRANSPORT_H |
27 | #define NET_9P_TRANSPORT_H | 27 | #define NET_9P_TRANSPORT_H |
28 | 28 | ||
29 | #define P9_TRANS_PREF_PAYLOAD_MASK 0x1 | ||
30 | |||
31 | /* Default. Add Payload to PDU before sending it down to transport layer */ | ||
32 | #define P9_TRANS_PREF_PAYLOAD_DEF 0x0 | ||
33 | /* Send pay load separately to transport layer along with PDU.*/ | ||
34 | #define P9_TRANS_PREF_PAYLOAD_SEP 0x1 | ||
35 | |||
36 | /** | 29 | /** |
37 | * struct p9_trans_module - transport module interface | 30 | * struct p9_trans_module - transport module interface |
38 | * @list: used to maintain a list of currently available transports | 31 | * @list: used to maintain a list of currently available transports |
@@ -56,13 +49,14 @@ struct p9_trans_module { | |||
56 | struct list_head list; | 49 | struct list_head list; |
57 | char *name; /* name of transport */ | 50 | char *name; /* name of transport */ |
58 | int maxsize; /* max message size of transport */ | 51 | int maxsize; /* max message size of transport */ |
59 | int pref; /* Preferences of this transport */ | ||
60 | int def; /* this transport should be default */ | 52 | int def; /* this transport should be default */ |
61 | struct module *owner; | 53 | struct module *owner; |
62 | int (*create)(struct p9_client *, const char *, char *); | 54 | int (*create)(struct p9_client *, const char *, char *); |
63 | void (*close) (struct p9_client *); | 55 | void (*close) (struct p9_client *); |
64 | int (*request) (struct p9_client *, struct p9_req_t *req); | 56 | int (*request) (struct p9_client *, struct p9_req_t *req); |
65 | int (*cancel) (struct p9_client *, struct p9_req_t *req); | 57 | int (*cancel) (struct p9_client *, struct p9_req_t *req); |
58 | int (*zc_request)(struct p9_client *, struct p9_req_t *, | ||
59 | char *, char *, int , int, int, int); | ||
66 | }; | 60 | }; |
67 | 61 | ||
68 | void v9fs_register_trans(struct p9_trans_module *m); | 62 | void v9fs_register_trans(struct p9_trans_module *m); |