summaryrefslogtreecommitdiff
path: root/fs/squashfs
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2014-01-08 09:32:45 -0700
committerJens Axboe <axboe@kernel.dk>2014-01-08 09:32:45 -0700
commit54a387cb9e600256e50cb9e2209e7e4f06f464de (patch)
tree37f2b32b1330f51dbe10ccf4300114c72f7aabdc /fs/squashfs
parent8586ea96b4f919a9b38929040bc9ce57c9998fc4 (diff)
parent0fec08b4ecfc36fd8a64432343b2964fb86d2675 (diff)
Merge branch 'for-3.14/core' into for-3.14/drivers
We need the updated code to make bcache easier to merge.
Diffstat (limited to 'fs/squashfs')
-rw-r--r--fs/squashfs/file_direct.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/squashfs/file_direct.c b/fs/squashfs/file_direct.c
index 2943b2bfae48..62a0de6632e1 100644
--- a/fs/squashfs/file_direct.c
+++ b/fs/squashfs/file_direct.c
@@ -84,6 +84,9 @@ int squashfs_readpage_block(struct page *target_page, u64 block, int bsize)
*/
res = squashfs_read_cache(target_page, block, bsize, pages,
page);
+ if (res < 0)
+ goto mark_errored;
+
goto out;
}
@@ -119,7 +122,7 @@ mark_errored:
* dealt with by the caller
*/
for (i = 0; i < pages; i++) {
- if (page[i] == target_page)
+ if (page[i] == NULL || page[i] == target_page)
continue;
flush_dcache_page(page[i]);
SetPageError(page[i]);