-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
Showing
14 changed files
with
772 additions
and
452 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,176 @@ | ||
#undef TRACE_SYSTEM | ||
#define TRACE_SYSTEM 9p | ||
|
||
#if !defined(_TRACE_9P_H) || defined(TRACE_HEADER_MULTI_READ) | ||
#define _TRACE_9P_H | ||
|
||
#include <linux/tracepoint.h> | ||
|
||
#define show_9p_op(type) \ | ||
__print_symbolic(type, \ | ||
{ P9_TLERROR, "P9_TLERROR" }, \ | ||
{ P9_RLERROR, "P9_RLERROR" }, \ | ||
{ P9_TSTATFS, "P9_TSTATFS" }, \ | ||
{ P9_RSTATFS, "P9_RSTATFS" }, \ | ||
{ P9_TLOPEN, "P9_TLOPEN" }, \ | ||
{ P9_RLOPEN, "P9_RLOPEN" }, \ | ||
{ P9_TLCREATE, "P9_TLCREATE" }, \ | ||
{ P9_RLCREATE, "P9_RLCREATE" }, \ | ||
{ P9_TSYMLINK, "P9_TSYMLINK" }, \ | ||
{ P9_RSYMLINK, "P9_RSYMLINK" }, \ | ||
{ P9_TMKNOD, "P9_TMKNOD" }, \ | ||
{ P9_RMKNOD, "P9_RMKNOD" }, \ | ||
{ P9_TRENAME, "P9_TRENAME" }, \ | ||
{ P9_RRENAME, "P9_RRENAME" }, \ | ||
{ P9_TREADLINK, "P9_TREADLINK" }, \ | ||
{ P9_RREADLINK, "P9_RREADLINK" }, \ | ||
{ P9_TGETATTR, "P9_TGETATTR" }, \ | ||
{ P9_RGETATTR, "P9_RGETATTR" }, \ | ||
{ P9_TSETATTR, "P9_TSETATTR" }, \ | ||
{ P9_RSETATTR, "P9_RSETATTR" }, \ | ||
{ P9_TXATTRWALK, "P9_TXATTRWALK" }, \ | ||
{ P9_RXATTRWALK, "P9_RXATTRWALK" }, \ | ||
{ P9_TXATTRCREATE, "P9_TXATTRCREATE" }, \ | ||
{ P9_RXATTRCREATE, "P9_RXATTRCREATE" }, \ | ||
{ P9_TREADDIR, "P9_TREADDIR" }, \ | ||
{ P9_RREADDIR, "P9_RREADDIR" }, \ | ||
{ P9_TFSYNC, "P9_TFSYNC" }, \ | ||
{ P9_RFSYNC, "P9_RFSYNC" }, \ | ||
{ P9_TLOCK, "P9_TLOCK" }, \ | ||
{ P9_RLOCK, "P9_RLOCK" }, \ | ||
{ P9_TGETLOCK, "P9_TGETLOCK" }, \ | ||
{ P9_RGETLOCK, "P9_RGETLOCK" }, \ | ||
{ P9_TLINK, "P9_TLINK" }, \ | ||
{ P9_RLINK, "P9_RLINK" }, \ | ||
{ P9_TMKDIR, "P9_TMKDIR" }, \ | ||
{ P9_RMKDIR, "P9_RMKDIR" }, \ | ||
{ P9_TRENAMEAT, "P9_TRENAMEAT" }, \ | ||
{ P9_RRENAMEAT, "P9_RRENAMEAT" }, \ | ||
{ P9_TUNLINKAT, "P9_TUNLINKAT" }, \ | ||
{ P9_RUNLINKAT, "P9_RUNLINKAT" }, \ | ||
{ P9_TVERSION, "P9_TVERSION" }, \ | ||
{ P9_RVERSION, "P9_RVERSION" }, \ | ||
{ P9_TAUTH, "P9_TAUTH" }, \ | ||
{ P9_RAUTH, "P9_RAUTH" }, \ | ||
{ P9_TATTACH, "P9_TATTACH" }, \ | ||
{ P9_RATTACH, "P9_RATTACH" }, \ | ||
{ P9_TERROR, "P9_TERROR" }, \ | ||
{ P9_RERROR, "P9_RERROR" }, \ | ||
{ P9_TFLUSH, "P9_TFLUSH" }, \ | ||
{ P9_RFLUSH, "P9_RFLUSH" }, \ | ||
{ P9_TWALK, "P9_TWALK" }, \ | ||
{ P9_RWALK, "P9_RWALK" }, \ | ||
{ P9_TOPEN, "P9_TOPEN" }, \ | ||
{ P9_ROPEN, "P9_ROPEN" }, \ | ||
{ P9_TCREATE, "P9_TCREATE" }, \ | ||
{ P9_RCREATE, "P9_RCREATE" }, \ | ||
{ P9_TREAD, "P9_TREAD" }, \ | ||
{ P9_RREAD, "P9_RREAD" }, \ | ||
{ P9_TWRITE, "P9_TWRITE" }, \ | ||
{ P9_RWRITE, "P9_RWRITE" }, \ | ||
{ P9_TCLUNK, "P9_TCLUNK" }, \ | ||
{ P9_RCLUNK, "P9_RCLUNK" }, \ | ||
{ P9_TREMOVE, "P9_TREMOVE" }, \ | ||
{ P9_RREMOVE, "P9_RREMOVE" }, \ | ||
{ P9_TSTAT, "P9_TSTAT" }, \ | ||
{ P9_RSTAT, "P9_RSTAT" }, \ | ||
{ P9_TWSTAT, "P9_TWSTAT" }, \ | ||
{ P9_RWSTAT, "P9_RWSTAT" }) | ||
|
||
TRACE_EVENT(9p_client_req, | ||
TP_PROTO(struct p9_client *clnt, int8_t type, int tag), | ||
|
||
TP_ARGS(clnt, type, tag), | ||
|
||
TP_STRUCT__entry( | ||
__field( void *, clnt ) | ||
__field( __u8, type ) | ||
__field( __u32, tag ) | ||
), | ||
|
||
TP_fast_assign( | ||
__entry->clnt = clnt; | ||
__entry->type = type; | ||
__entry->tag = tag; | ||
), | ||
|
||
TP_printk("client %lu request %s tag %d", | ||
(long)__entry->clnt, show_9p_op(__entry->type), | ||
__entry->tag) | ||
); | ||
|
||
TRACE_EVENT(9p_client_res, | ||
TP_PROTO(struct p9_client *clnt, int8_t type, int tag, int err), | ||
|
||
TP_ARGS(clnt, type, tag, err), | ||
|
||
TP_STRUCT__entry( | ||
__field( void *, clnt ) | ||
__field( __u8, type ) | ||
__field( __u32, tag ) | ||
__field( __u32, err ) | ||
), | ||
|
||
TP_fast_assign( | ||
__entry->clnt = clnt; | ||
__entry->type = type; | ||
__entry->tag = tag; | ||
__entry->err = err; | ||
), | ||
|
||
TP_printk("client %lu response %s tag %d err %d", | ||
(long)__entry->clnt, show_9p_op(__entry->type), | ||
__entry->tag, __entry->err) | ||
); | ||
|
||
/* dump 32 bytes of protocol data */ | ||
#define P9_PROTO_DUMP_SZ 32 | ||
TRACE_EVENT(9p_protocol_dump, | ||
TP_PROTO(struct p9_client *clnt, struct p9_fcall *pdu), | ||
|
||
TP_ARGS(clnt, pdu), | ||
|
||
TP_STRUCT__entry( | ||
__field( void *, clnt ) | ||
__field( __u8, type ) | ||
__field( __u16, tag ) | ||
__array( unsigned char, line, P9_PROTO_DUMP_SZ ) | ||
), | ||
|
||
TP_fast_assign( | ||
__entry->clnt = clnt; | ||
__entry->type = pdu->id; | ||
__entry->tag = pdu->tag; | ||
memcpy(__entry->line, pdu->sdata, P9_PROTO_DUMP_SZ); | ||
), | ||
TP_printk("clnt %lu %s(tag = %d)\n%.3x: " | ||
"%02x %02x %02x %02x %02x %02x %02x %02x " | ||
"%02x %02x %02x %02x %02x %02x %02x %02x\n" | ||
"%.3x: " | ||
"%02x %02x %02x %02x %02x %02x %02x %02x " | ||
"%02x %02x %02x %02x %02x %02x %02x %02x\n", | ||
(long)__entry->clnt, show_9p_op(__entry->type), | ||
__entry->tag, 0, | ||
__entry->line[0], __entry->line[1], | ||
__entry->line[2], __entry->line[3], | ||
__entry->line[4], __entry->line[5], | ||
__entry->line[6], __entry->line[7], | ||
__entry->line[8], __entry->line[9], | ||
__entry->line[10], __entry->line[11], | ||
__entry->line[12], __entry->line[13], | ||
__entry->line[14], __entry->line[15], | ||
16, | ||
__entry->line[16], __entry->line[17], | ||
__entry->line[18], __entry->line[19], | ||
__entry->line[20], __entry->line[21], | ||
__entry->line[22], __entry->line[23], | ||
__entry->line[24], __entry->line[25], | ||
__entry->line[26], __entry->line[27], | ||
__entry->line[28], __entry->line[29], | ||
__entry->line[30], __entry->line[31]) | ||
); | ||
|
||
#endif /* _TRACE_9P_H */ | ||
|
||
/* This part must be outside protection */ | ||
#include <trace/define_trace.h> |
Oops, something went wrong.