aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-10-26 08:20:53 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-26 08:20:53 -0400
commite33bae14fd8da449d735552d78e6dd33ece0458c (patch)
tree048c062c47f7bfdb0ea8ad19c5b5849a58ff3022 /include/net
parent7670c7010c7b367ca40c3aba02afb36149764a6e (diff)
parent14211d026dad4641d4dffd7a4c520bcaa8fd4a65 (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.h14
-rw-r--r--include/net/9p/client.h8
-rw-r--r--include/net/9p/transport.h10
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
152struct p9_client { 152struct 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,
240int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata, 240int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata,
241 u64 offset, u32 count); 241 u64 offset, u32 count);
242int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset); 242int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset);
243int p9dirent_read(char *buf, int len, struct p9_dirent *dirent, 243int p9dirent_read(struct p9_client *clnt, char *buf, int len,
244 int proto_version); 244 struct p9_dirent *dirent);
245struct p9_wstat *p9_client_stat(struct p9_fid *fid); 245struct p9_wstat *p9_client_stat(struct p9_fid *fid);
246int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst); 246int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst);
247int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *attr); 247int 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);
259void p9_client_cb(struct p9_client *c, struct p9_req_t *req); 259void p9_client_cb(struct p9_client *c, struct p9_req_t *req);
260 260
261int p9_parse_header(struct p9_fcall *, int32_t *, int8_t *, int16_t *, int); 261int p9_parse_header(struct p9_fcall *, int32_t *, int8_t *, int16_t *, int);
262int p9stat_read(char *, int, struct p9_wstat *, int); 262int p9stat_read(struct p9_client *, char *, int, struct p9_wstat *);
263void p9stat_free(struct p9_wstat *); 263void p9stat_free(struct p9_wstat *);
264 264
265int p9_is_proto_dotu(struct p9_client *clnt); 265int 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
68void v9fs_register_trans(struct p9_trans_module *m); 62void v9fs_register_trans(struct p9_trans_module *m);