Skip to content

Commit 4088e38

Browse files
committed
netfs: Count DIO writes
Provide a counter for DIO writes to match that for DIO reads. Signed-off-by: David Howells <dhowells@redhat.com> cc: Jeff Layton <jlayton@kernel.org> cc: linux-cachefs@redhat.com cc: linux-fsdevel@vger.kernel.org cc: linux-mm@kvack.org
1 parent 0e4d464 commit 4088e38

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

fs/netfs/direct_write.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ ssize_t netfs_unbuffered_write_iter(struct kiocb *iocb, struct iov_iter *from)
140140
_enter("%llx,%zx,%llx", iocb->ki_pos, iov_iter_count(from), i_size_read(inode));
141141

142142
trace_netfs_write_iter(iocb, from);
143+
netfs_stat(&netfs_n_rh_dio_write);
143144

144145
ret = netfs_start_io_direct(inode);
145146
if (ret < 0)

fs/netfs/internal.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ int netfs_end_writethrough(struct netfs_io_request *wreq, struct kiocb *iocb);
104104
*/
105105
#ifdef CONFIG_NETFS_STATS
106106
extern atomic_t netfs_n_rh_dio_read;
107+
extern atomic_t netfs_n_rh_dio_write;
107108
extern atomic_t netfs_n_rh_readahead;
108109
extern atomic_t netfs_n_rh_readpage;
109110
extern atomic_t netfs_n_rh_rreq;

fs/netfs/stats.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "internal.h"
1111

1212
atomic_t netfs_n_rh_dio_read;
13+
atomic_t netfs_n_rh_dio_write;
1314
atomic_t netfs_n_rh_readahead;
1415
atomic_t netfs_n_rh_readpage;
1516
atomic_t netfs_n_rh_rreq;
@@ -37,14 +38,13 @@ atomic_t netfs_n_wh_write_failed;
3738

3839
int netfs_stats_show(struct seq_file *m, void *v)
3940
{
40-
seq_printf(m, "Netfs : DR=%u RA=%u RP=%u WB=%u WBZ=%u rr=%u sr=%u\n",
41+
seq_printf(m, "Netfs : DR=%u DW=%u RA=%u RP=%u WB=%u WBZ=%u\n",
4142
atomic_read(&netfs_n_rh_dio_read),
43+
atomic_read(&netfs_n_rh_dio_write),
4244
atomic_read(&netfs_n_rh_readahead),
4345
atomic_read(&netfs_n_rh_readpage),
4446
atomic_read(&netfs_n_rh_write_begin),
45-
atomic_read(&netfs_n_rh_write_zskip),
46-
atomic_read(&netfs_n_rh_rreq),
47-
atomic_read(&netfs_n_rh_sreq));
47+
atomic_read(&netfs_n_rh_write_zskip));
4848
seq_printf(m, "Netfs : ZR=%u sh=%u sk=%u\n",
4949
atomic_read(&netfs_n_rh_zero),
5050
atomic_read(&netfs_n_rh_short_read),
@@ -66,6 +66,9 @@ int netfs_stats_show(struct seq_file *m, void *v)
6666
atomic_read(&netfs_n_wh_write),
6767
atomic_read(&netfs_n_wh_write_done),
6868
atomic_read(&netfs_n_wh_write_failed));
69+
seq_printf(m, "Netfs : rr=%u sr=%u\n",
70+
atomic_read(&netfs_n_rh_rreq),
71+
atomic_read(&netfs_n_rh_sreq));
6972
return fscache_stats_show(m);
7073
}
7174
EXPORT_SYMBOL(netfs_stats_show);

0 commit comments

Comments
 (0)