summaryrefslogtreecommitdiff
path: root/fs/nfs/write.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2025-08-08 07:40:34 -0400
committerAnna Schumaker <anna.schumaker@oracle.com>2025-09-23 13:28:19 -0400
commit83c47ef8aca0dc5e2159e884b2bfd3440948eed1 (patch)
tree0ef11481bd1c87ae6195b328002c1c22d48cbe2f /fs/nfs/write.c
parentb6ef079fd984930dcc42f4b247777f296528507e (diff)
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>
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r--fs/nfs/write.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 669b5358205d..52a763b6aa3a 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -657,12 +657,14 @@ int nfs_writepages(struct address_space *mapping, struct writeback_control *wbc)
int priority = 0;
int err;
+ trace_nfs_writepages(inode, wbc->range_start, wbc->range_end - wbc->range_start);
+
/* Wait with writeback until write congestion eases */
if (wbc->sync_mode == WB_SYNC_NONE && nfss->write_congested) {
err = wait_event_killable(nfss->write_congestion_wait,
nfss->write_congested == 0);
if (err)
- return err;
+ goto out_err;
}
nfs_inc_stats(inode, NFSIOS_VFSWRITEPAGES);
@@ -693,10 +695,10 @@ int nfs_writepages(struct address_space *mapping, struct writeback_control *wbc)
} while (err < 0 && !nfs_error_is_fatal(err));
nfs_io_completion_put(ioc);
- if (err < 0)
- goto out_err;
- return 0;
+ if (err > 0)
+ err = 0;
out_err:
+ trace_nfs_writepages_done(inode, wbc->range_start, wbc->range_end - wbc->range_start, err);
return err;
}