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

Commit 68ae849d authored by David Howells's avatar David Howells
Browse files

afs: Don't set PG_error on local EINTR or ENOMEM when filling a page



Don't set PG_error on a page if we get local EINTR or ENOMEM when filling a
page for writing.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent ab94f5d0
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -212,7 +212,13 @@ int afs_page_filler(void *data, struct page *page)
			fscache_uncache_page(vnode->cache, page);
#endif
			BUG_ON(PageFsCache(page));

			if (ret == -EINTR ||
			    ret == -ENOMEM ||
			    ret == -ERESTARTSYS ||
			    ret == -EAGAIN)
				goto error;
			goto io_error;
		}

		SetPageUptodate(page);
@@ -231,10 +237,12 @@ int afs_page_filler(void *data, struct page *page)
	_leave(" = 0");
	return 0;

io_error:
	SetPageError(page);
	goto error;
enomem:
	ret = -ENOMEM;
error:
	SetPageError(page);
	unlock_page(page);
	_leave(" = %d", ret);
	return ret;