mirror of
https://github.com/torvalds/linux.git
synced 2024-12-19 01:23:20 +00:00
nfsd: new tracepoint for after op_func in compound processing
Turn nfsd_compound_encode_err tracepoint into a class and add a new nfsd_compound_op_err tracepoint. Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
f6259e2e4f
commit
b9376c7e42
@ -2780,6 +2780,7 @@ nfsd4_proc_compound(struct svc_rqst *rqstp)
|
|||||||
if (op->opdesc->op_get_currentstateid)
|
if (op->opdesc->op_get_currentstateid)
|
||||||
op->opdesc->op_get_currentstateid(cstate, &op->u);
|
op->opdesc->op_get_currentstateid(cstate, &op->u);
|
||||||
op->status = op->opdesc->op_func(rqstp, cstate, &op->u);
|
op->status = op->opdesc->op_func(rqstp, cstate, &op->u);
|
||||||
|
trace_nfsd_compound_op_err(rqstp, op->opnum, op->status);
|
||||||
|
|
||||||
/* Only from SEQUENCE */
|
/* Only from SEQUENCE */
|
||||||
if (cstate->status == nfserr_replay_cache) {
|
if (cstate->status == nfserr_replay_cache) {
|
||||||
|
@ -163,7 +163,7 @@ TRACE_EVENT(nfsd_compound_decode_err,
|
|||||||
__entry->opnum, __entry->status)
|
__entry->opnum, __entry->status)
|
||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(nfsd_compound_encode_err,
|
DECLARE_EVENT_CLASS(nfsd_compound_err_class,
|
||||||
TP_PROTO(
|
TP_PROTO(
|
||||||
const struct svc_rqst *rqstp,
|
const struct svc_rqst *rqstp,
|
||||||
u32 opnum,
|
u32 opnum,
|
||||||
@ -184,6 +184,18 @@ TRACE_EVENT(nfsd_compound_encode_err,
|
|||||||
__entry->opnum, __entry->status)
|
__entry->opnum, __entry->status)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#define DEFINE_NFSD_COMPOUND_ERR_EVENT(name) \
|
||||||
|
DEFINE_EVENT(nfsd_compound_err_class, nfsd_compound_##name##_err, \
|
||||||
|
TP_PROTO( \
|
||||||
|
const struct svc_rqst *rqstp, \
|
||||||
|
u32 opnum, \
|
||||||
|
__be32 status \
|
||||||
|
), \
|
||||||
|
TP_ARGS(rqstp, opnum, status))
|
||||||
|
|
||||||
|
DEFINE_NFSD_COMPOUND_ERR_EVENT(op);
|
||||||
|
DEFINE_NFSD_COMPOUND_ERR_EVENT(encode);
|
||||||
|
|
||||||
#define show_fs_file_type(x) \
|
#define show_fs_file_type(x) \
|
||||||
__print_symbolic(x, \
|
__print_symbolic(x, \
|
||||||
{ S_IFLNK, "LNK" }, \
|
{ S_IFLNK, "LNK" }, \
|
||||||
|
Loading…
Reference in New Issue
Block a user