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

Commit 97b37f24 authored by Jeff Layton's avatar Jeff Layton Committed by Steve French
Browse files

cifs: set mapping error when page writeback fails in writepage or launder_pages



Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarSteve French <smfrench@gmail.com>
parent 1955880b
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -2234,14 +2234,16 @@ cifs_writepage_locked(struct page *page, struct writeback_control *wbc)
	set_page_writeback(page);
retry_write:
	rc = cifs_partialpagewrite(page, 0, PAGE_SIZE);
	if (rc == -EAGAIN && wbc->sync_mode == WB_SYNC_ALL)
	if (rc == -EAGAIN) {
		if (wbc->sync_mode == WB_SYNC_ALL)
			goto retry_write;
	else if (rc == -EAGAIN)
		redirty_page_for_writepage(wbc, page);
	else if (rc != 0)
	} else if (rc != 0) {
		SetPageError(page);
	else
		mapping_set_error(page->mapping, rc);
	} else {
		SetPageUptodate(page);
	}
	end_page_writeback(page);
	put_page(page);
	free_xid(xid);