diff mbox series

NFS: nfs_async_write_reschedule_io must not recurse into the writeback code

Message ID 20220802200444.381597-1-trondmy@kernel.org (mailing list archive)
State New, archived
Headers show
Series NFS: nfs_async_write_reschedule_io must not recurse into the writeback code | expand

Commit Message

Trond Myklebust Aug. 2, 2022, 8:04 p.m. UTC
From: Trond Myklebust <trond.myklebust@hammerspace.com>

It is not safe to call filemap_fdatawrite_range() from
nfs_async_write_reschedule_io(), since we're often calling from a page
reclaim context. Just let fsync() redrive the writeback for us.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
---
 fs/nfs/write.c | 2 --
 1 file changed, 2 deletions(-)
diff mbox series

Patch

diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 16d166bc4099..4adf2b488da1 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1444,8 +1444,6 @@  static void nfs_async_write_error(struct list_head *head, int error)
 static void nfs_async_write_reschedule_io(struct nfs_pgio_header *hdr)
 {
 	nfs_async_write_error(&hdr->pages, 0);
-	filemap_fdatawrite_range(hdr->inode->i_mapping, hdr->args.offset,
-			hdr->args.offset + hdr->args.count - 1);
 }
 
 static const struct nfs_pgio_completion_ops nfs_async_write_completion_ops = {