mirror of
https://github.com/torvalds/linux
synced 2024-09-21 19:47:35 +00:00
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: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
14bebe3c90
commit
22876f540b
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue