5.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Trond Myklebust trond.myklebust@hammerspace.com
commit b1a28f2eb9ea7a5a1763fe53fe699aa0feae4231 upstream.
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 Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- fs/nfs/write.c | 2 -- 1 file changed, 2 deletions(-)
--- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -1422,8 +1422,6 @@ static void nfs_async_write_error(struct 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 = {