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); |
