summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/nfs/write.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 23df8b214474f..148e773c36650 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -632,13 +632,14 @@ static void nfs_write_error(struct nfs_page *req, int error)
* Find an associated nfs write request, and prepare to flush it out
* May return an error if the user signalled nfs_wait_on_request().
*/
-static int nfs_page_async_flush(struct folio *folio,
- struct writeback_control *wbc,
- struct nfs_pageio_descriptor *pgio)
+static int nfs_do_writepage(struct folio *folio, struct writeback_control *wbc,
+ struct nfs_pageio_descriptor *pgio)
{
struct nfs_page *req;
int ret = 0;
+ nfs_pageio_cond_complete(pgio, folio->index);
+
req = nfs_lock_and_join_requests(folio);
if (!req)
goto out;
@@ -677,13 +678,6 @@ out_launder:
return 0;
}
-static int nfs_do_writepage(struct folio *folio, struct writeback_control *wbc,
- struct nfs_pageio_descriptor *pgio)
-{
- nfs_pageio_cond_complete(pgio, folio->index);
- return nfs_page_async_flush(folio, wbc, pgio);
-}
-
/*
* Write an mmapped page to the server.
*/