diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2018-03-27 17:52:57 +0300 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2018-04-03 22:08:14 +0300 |
commit | 79e0b4e247b3d1787ade451cc0187e8d3b0e6e53 (patch) | |
tree | 6910f83e647e7d6c2b3ff46cffb494ea321d810b /fs/nfsd | |
parent | afa720a0910bd0fe4a714ab9b902ff6e845900c3 (diff) | |
download | linux-79e0b4e247b3d1787ade451cc0187e8d3b0e6e53.tar.xz |
nfsd: Record request byte count, not count of vectors
Byte count is more helpful to know than vector count.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/trace.h | 15 | ||||
-rw-r--r-- | fs/nfsd/vfs.c | 16 |
2 files changed, 13 insertions, 18 deletions
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; } |