Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

nfs: add tracepoints to nfs_writepages()

Show the inode info and requested range.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>

authored by

Jeff Layton and committed by
Anna Schumaker
83c47ef8 b6ef079f

+8 -4
+2
fs/nfs/nfstrace.h
··· 1080 1080 DEFINE_NFS_FOLIO_EVENT(nfs_write_end); 1081 1081 DEFINE_NFS_FOLIO_EVENT_DONE(nfs_write_end_done); 1082 1082 1083 + DEFINE_NFS_FOLIO_EVENT(nfs_writepages); 1084 + DEFINE_NFS_FOLIO_EVENT_DONE(nfs_writepages_done); 1083 1085 1084 1086 DECLARE_EVENT_CLASS(nfs_kiocb_event, 1085 1087 TP_PROTO(
+6 -4
fs/nfs/write.c
··· 657 657 int priority = 0; 658 658 int err; 659 659 660 + trace_nfs_writepages(inode, wbc->range_start, wbc->range_end - wbc->range_start); 661 + 660 662 /* Wait with writeback until write congestion eases */ 661 663 if (wbc->sync_mode == WB_SYNC_NONE && nfss->write_congested) { 662 664 err = wait_event_killable(nfss->write_congestion_wait, 663 665 nfss->write_congested == 0); 664 666 if (err) 665 - return err; 667 + goto out_err; 666 668 } 667 669 668 670 nfs_inc_stats(inode, NFSIOS_VFSWRITEPAGES); ··· 695 693 } while (err < 0 && !nfs_error_is_fatal(err)); 696 694 nfs_io_completion_put(ioc); 697 695 698 - if (err < 0) 699 - goto out_err; 700 - return 0; 696 + if (err > 0) 697 + err = 0; 701 698 out_err: 699 + trace_nfs_writepages_done(inode, wbc->range_start, wbc->range_end - wbc->range_start, err); 702 700 return err; 703 701 } 704 702