NFS: Fixup allocation flags for nfsiod's __GFP_NORETRY
[ Upstream commit 99765233 ] If the NFS client is doing writeback from a workqueue context, avoid using __GFP_NORETRY for allocations if the task has set PF_MEMALLOC_NOIO or PF_MEMALLOC_NOFS. The combination of these flags makes memory allocation failures much more likely. We've seen those allocation failures show up when the loopback driver is doing writeback from a workqueue to a file on NFS, where memory allocation failure results in errors or corruption within the loopback device's filesystem. Suggested-by:Trond Myklebust <trondmy@kernel.org> Fixes: 0bae835b ("NFS: Avoid writeback threads getting stuck in mempool_alloc()") Signed-off-by:
Benjamin Coddington <bcodding@redhat.com> Reviewed-by:
Laurence Oberman <loberman@redhat.com> Tested-by:
Laurence Oberman <loberman@redhat.com> Reviewed-by:
Jeff Layton <jlayton@kernel.org> Link: https://lore.kernel.org/r/f83ac1155a4bc670f2663959a7a068571e06afd9.1752111622.git.bcodding@redhat.com Signed-off-by:
Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading