aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/trace.h
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2018-03-28 13:29:11 -0400
committerJ. Bruce Fields <bfields@redhat.com>2018-04-03 15:08:15 -0400
commit87c5942e8fae81ac296267654a047eb2db81592b (patch)
treede00193297b93692cfc86f475fe7cb6d6dbdc56a /fs/nfsd/trace.h
parentd890be159a71395bd4ceca09233a8a56d7da69ee (diff)
nfsd: Add I/O trace points in the NFSv4 read proc
NFSv4 read compound processing invokes nfsd_splice_read and nfs_readv directly, so the trace points currently in nfsd_read are not invoked for NFSv4 reads. Move the NFSD READ trace points to common helpers so that NFSv4 reads are captured. Also, record any local I/O error that occurs, the total count of bytes that were actually returned, and whether splice or vectored read was used. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/trace.h')
-rw-r--r--fs/nfsd/trace.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h
index 653e9ee754d2..a8bbd9d00a9e 100644
--- a/fs/nfsd/trace.h
+++ b/fs/nfsd/trace.h
@@ -43,7 +43,8 @@ DEFINE_EVENT(nfsd_io_class, nfsd_##name, \
43 TP_ARGS(rqstp, fhp, offset, len)) 43 TP_ARGS(rqstp, fhp, offset, len))
44 44
45DEFINE_NFSD_IO_EVENT(read_start); 45DEFINE_NFSD_IO_EVENT(read_start);
46DEFINE_NFSD_IO_EVENT(read_opened); 46DEFINE_NFSD_IO_EVENT(read_splice);
47DEFINE_NFSD_IO_EVENT(read_vector);
47DEFINE_NFSD_IO_EVENT(read_io_done); 48DEFINE_NFSD_IO_EVENT(read_io_done);
48DEFINE_NFSD_IO_EVENT(read_done); 49DEFINE_NFSD_IO_EVENT(read_done);
49DEFINE_NFSD_IO_EVENT(write_start); 50DEFINE_NFSD_IO_EVENT(write_start);
@@ -82,6 +83,7 @@ DEFINE_EVENT(nfsd_err_class, nfsd_##name, \
82 int len), \ 83 int len), \
83 TP_ARGS(rqstp, fhp, offset, len)) 84 TP_ARGS(rqstp, fhp, offset, len))
84 85
86DEFINE_NFSD_ERR_EVENT(read_err);
85DEFINE_NFSD_ERR_EVENT(write_err); 87DEFINE_NFSD_ERR_EVENT(write_err);
86 88
87#include "state.h" 89#include "state.h"