From 79e0b4e247b3d1787ade451cc0187e8d3b0e6e53 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Tue, 27 Mar 2018 10:52:57 -0400 Subject: nfsd: Record request byte count, not count of vectors Byte count is more helpful to know than vector count. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields --- fs/nfsd/trace.h | 15 +++++---------- fs/nfsd/vfs.c | 16 ++++++++-------- 2 files changed, 13 insertions(+), 18 deletions(-) (limited to 'fs/nfsd') diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 3aa3f3b1eeaa..9b7950602fad 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -15,26 +15,21 @@ DECLARE_EVENT_CLASS(nfsd_io_class, TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, - int len), + unsigned long len), TP_ARGS(rqstp, fhp, offset, len), TP_STRUCT__entry( __field(u32, xid) __field(u32, fh_hash) __field(loff_t, offset) - __field(int, len) + __field(unsigned long, len) ), TP_fast_assign( __entry->xid = be32_to_cpu(rqstp->rq_xid); - do { - struct knfsd_fh fh; - - fh_copy_shallow(&fh, &fhp->fh_handle); - __entry->fh_hash = knfsd_fh_hash(&fh); - } while (0); + __entry->fh_hash = knfsd_fh_hash(&fhp->fh_handle); __entry->offset = offset; __entry->len = len; ), - TP_printk("xid=0x%08x fh_hash=0x%08x offset=%lld len=%d", + TP_printk("xid=0x%08x fh_hash=0x%08x offset=%lld len=%lu", __entry->xid, __entry->fh_hash, __entry->offset, __entry->len) ) @@ -44,7 +39,7 @@ DEFINE_EVENT(nfsd_io_class, name, \ TP_PROTO(struct svc_rqst *rqstp, \ struct svc_fh *fhp, \ loff_t offset, \ - int len), \ + unsigned long len), \ TP_ARGS(rqstp, fhp, offset, len)) DEFINE_NFSD_IO_EVENT(read_start); diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index a3c9bfa77def..e2eab4c37030 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -1024,27 +1024,27 @@ __be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct raparms *ra; __be32 err; - trace_read_start(rqstp, fhp, offset, vlen); + trace_read_start(rqstp, fhp, offset, *count); err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_READ, &file); if (err) return err; ra = nfsd_init_raparms(file); - trace_read_opened(rqstp, fhp, offset, vlen); + trace_read_opened(rqstp, fhp, offset, *count); if (file->f_op->splice_read && test_bit(RQ_SPLICE_OK, &rqstp->rq_flags)) err = nfsd_splice_read(rqstp, file, offset, count); else err = nfsd_readv(file, offset, vec, vlen, count); - trace_read_io_done(rqstp, fhp, offset, vlen); + trace_read_io_done(rqstp, fhp, offset, *count); if (ra) nfsd_put_raparams(file, ra); fput(file); - trace_read_done(rqstp, fhp, offset, vlen); + trace_read_done(rqstp, fhp, offset, *count); return err; } @@ -1061,18 +1061,18 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, struct file *file = NULL; __be32 err = 0; - trace_write_start(rqstp, fhp, offset, vlen); + trace_write_start(rqstp, fhp, offset, *cnt); err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_WRITE, &file); if (err) goto out; - trace_write_opened(rqstp, fhp, offset, vlen); + trace_write_opened(rqstp, fhp, offset, *cnt); err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, cnt, stable); - trace_write_io_done(rqstp, fhp, offset, vlen); + trace_write_io_done(rqstp, fhp, offset, *cnt); fput(file); out: - trace_write_done(rqstp, fhp, offset, vlen); + trace_write_done(rqstp, fhp, offset, *cnt); return err; } -- cgit v1.2.3