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
This commit is contained in:
@@ -76,11 +76,8 @@ do { \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define P9_DUMP_PKT(way, pdu) p9pdu_dump(way, pdu)
|
||||
|
||||
#else
|
||||
#define P9_DPRINTK(level, format, arg...) do { } while (0)
|
||||
#define P9_DUMP_PKT(way, pdu) do { } while (0)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -359,6 +356,9 @@ enum p9_qid_t {
|
||||
/* Room for readdir header */
|
||||
#define P9_READDIRHDRSZ 24
|
||||
|
||||
/* size of header for zero copy read/write */
|
||||
#define P9_ZC_HDR_SZ 4096
|
||||
|
||||
/**
|
||||
* struct p9_qid - file system entity information
|
||||
* @type: 8-bit type &p9_qid_t
|
||||
@@ -555,10 +555,6 @@ struct p9_rstatfs {
|
||||
* @tag: transaction id of the request
|
||||
* @offset: used by marshalling routines to track current position in buffer
|
||||
* @capacity: used by marshalling routines to track total malloc'd capacity
|
||||
* @pubuf: Payload user buffer given by the caller
|
||||
* @pkbuf: Payload kernel buffer given by the caller
|
||||
* @pbuf_size: pubuf/pkbuf(only one will be !NULL) size to be read/write.
|
||||
* @private: For transport layer's use.
|
||||
* @sdata: payload
|
||||
*
|
||||
* &p9_fcall represents the structure for all 9P RPC
|
||||
@@ -575,10 +571,6 @@ struct p9_fcall {
|
||||
|
||||
size_t offset;
|
||||
size_t capacity;
|
||||
char __user *pubuf;
|
||||
char *pkbuf;
|
||||
size_t pbuf_size;
|
||||
void *private;
|
||||
|
||||
u8 *sdata;
|
||||
};
|
||||
|
@@ -151,7 +151,7 @@ struct p9_req_t {
|
||||
|
||||
struct p9_client {
|
||||
spinlock_t lock; /* protect client structure */
|
||||
int msize;
|
||||
unsigned int msize;
|
||||
unsigned char proto_version;
|
||||
struct p9_trans_module *trans_mod;
|
||||
enum p9_trans_status status;
|
||||
@@ -240,8 +240,8 @@ int p9_client_read(struct p9_fid *fid, char *data, char __user *udata,
|
||||
int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata,
|
||||
u64 offset, u32 count);
|
||||
int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset);
|
||||
int p9dirent_read(char *buf, int len, struct p9_dirent *dirent,
|
||||
int proto_version);
|
||||
int p9dirent_read(struct p9_client *clnt, char *buf, int len,
|
||||
struct p9_dirent *dirent);
|
||||
struct p9_wstat *p9_client_stat(struct p9_fid *fid);
|
||||
int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst);
|
||||
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);
|
||||
void p9_client_cb(struct p9_client *c, struct p9_req_t *req);
|
||||
|
||||
int p9_parse_header(struct p9_fcall *, int32_t *, int8_t *, int16_t *, int);
|
||||
int p9stat_read(char *, int, struct p9_wstat *, int);
|
||||
int p9stat_read(struct p9_client *, char *, int, struct p9_wstat *);
|
||||
void p9stat_free(struct p9_wstat *);
|
||||
|
||||
int p9_is_proto_dotu(struct p9_client *clnt);
|
||||
|
@@ -26,13 +26,6 @@
|
||||
#ifndef NET_9P_TRANSPORT_H
|
||||
#define NET_9P_TRANSPORT_H
|
||||
|
||||
#define P9_TRANS_PREF_PAYLOAD_MASK 0x1
|
||||
|
||||
/* Default. Add Payload to PDU before sending it down to transport layer */
|
||||
#define P9_TRANS_PREF_PAYLOAD_DEF 0x0
|
||||
/* Send pay load separately to transport layer along with PDU.*/
|
||||
#define P9_TRANS_PREF_PAYLOAD_SEP 0x1
|
||||
|
||||
/**
|
||||
* struct p9_trans_module - transport module interface
|
||||
* @list: used to maintain a list of currently available transports
|
||||
@@ -56,13 +49,14 @@ struct p9_trans_module {
|
||||
struct list_head list;
|
||||
char *name; /* name of transport */
|
||||
int maxsize; /* max message size of transport */
|
||||
int pref; /* Preferences of this transport */
|
||||
int def; /* this transport should be default */
|
||||
struct module *owner;
|
||||
int (*create)(struct p9_client *, const char *, char *);
|
||||
void (*close) (struct p9_client *);
|
||||
int (*request) (struct p9_client *, struct p9_req_t *req);
|
||||
int (*cancel) (struct p9_client *, struct p9_req_t *req);
|
||||
int (*zc_request)(struct p9_client *, struct p9_req_t *,
|
||||
char *, char *, int , int, int, int);
|
||||
};
|
||||
|
||||
void v9fs_register_trans(struct p9_trans_module *m);
|
||||
|
Reference in New Issue
Block a user