Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22876f54 authored by Trond Myklebust's avatar Trond Myklebust Committed by Anna Schumaker
Browse files

NFS: Don't call generic_error_remove_page() while holding locks



The NFS read code can trigger writeback while holding the page lock.
If an error then triggers a call to nfs_write_error_remove_page(),
we can deadlock.

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 14bebe3c
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -584,9 +584,8 @@ nfs_lock_and_join_requests(struct page *page)

static void nfs_write_error_remove_page(struct nfs_page *req)
{
	SetPageError(req->wb_page);
	nfs_end_page_writeback(req);
	generic_error_remove_page(page_file_mapping(req->wb_page),
				  req->wb_page);
	nfs_release_request(req);
}