diff options
-rw-r--r-- | mm/filemap.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 2ba46f410c7c..1944c631e3e6 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -1008,9 +1008,12 @@ void page_endio(struct page *page, bool is_write, int err) | |||
1008 | unlock_page(page); | 1008 | unlock_page(page); |
1009 | } else { | 1009 | } else { |
1010 | if (err) { | 1010 | if (err) { |
1011 | struct address_space *mapping; | ||
1012 | |||
1011 | SetPageError(page); | 1013 | SetPageError(page); |
1012 | if (page->mapping) | 1014 | mapping = page_mapping(page); |
1013 | mapping_set_error(page->mapping, err); | 1015 | if (mapping) |
1016 | mapping_set_error(mapping, err); | ||
1014 | } | 1017 | } |
1015 | end_page_writeback(page); | 1018 | end_page_writeback(page); |
1016 | } | 1019 | } |