NFS: Account for NFS bytes read via the splice API
authorChuck Lever <chuck.lever@oracle.com>
Mon, 1 Feb 2010 19:17:32 +0000 (14:17 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 10 Feb 2010 13:31:03 +0000 (08:31 -0500)
Bytes read via the splice API should be accounted for in the NFS
performance statistics.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/file.c

index 7f4910c98c7c89bd453e37fe2576fd54d214ef6f..abbc20281ea4695c2af105e558e996b227bf8633 100644 (file)
@@ -284,8 +284,11 @@ nfs_file_splice_read(struct file *filp, loff_t *ppos,
                (unsigned long) count, (unsigned long long) *ppos);
 
        res = nfs_revalidate_mapping(inode, filp->f_mapping);
-       if (!res)
+       if (!res) {
                res = generic_file_splice_read(filp, ppos, pipe, count, flags);
+               if (res > 0)
+                       nfs_add_stats(inode, NFSIOS_NORMALREADBYTES, res);
+       }
        return res;
 }