]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
NFS: Do not report EINTR/ERESTARTSYS as mapping errors
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 14 May 2022 14:27:00 +0000 (10:27 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:26:12 +0000 (10:26 +0200)
[ Upstream commit cea9ba7239dcc84175041174304c6cdeae3226e5 ]

If the attempt to flush data was interrupted due to a local signal, then
just requeue the writes back for I/O.

Fixes: 6fbda89b257f ("NFS: Replace custom error reporting mechanism with generic one")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfs/write.c

index 9388503030992843433775feb2f83e0348a23868..3cb948f13902474e4acb29f41f32fe0176c5a671 100644 (file)
@@ -1436,7 +1436,7 @@ static void nfs_async_write_error(struct list_head *head, int error)
        while (!list_empty(head)) {
                req = nfs_list_entry(head->next);
                nfs_list_remove_request(req);
-               if (nfs_error_is_fatal(error))
+               if (nfs_error_is_fatal_on_server(error))
                        nfs_write_error(req, error);
                else
                        nfs_redirty_request(req);