X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fsquashfs%2Fblock.c;h=41d108ecc9be305211a635bfdf7932ac52d91097;hb=861e66d3418a90f57b31a50110fc70b23569c551;hp=fb50652e4e113f54a4447eb147fa56da59a8ba45;hpb=d5aeee8cb28317ef608ecac421abc4d986d585d2;p=~andy%2Flinux diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c index fb50652e4e1..41d108ecc9b 100644 --- a/fs/squashfs/block.c +++ b/fs/squashfs/block.c @@ -167,17 +167,14 @@ int squashfs_read_data(struct super_block *sb, void **buffer, u64 index, /* * Block is uncompressed. */ - int i, in, pg_offset = 0; - - for (i = 0; i < b; i++) { - wait_on_buffer(bh[i]); - if (!buffer_uptodate(bh[i])) - goto block_release; - } + int in, pg_offset = 0; for (bytes = length; k < b; k++) { in = min(bytes, msblk->devblksize - offset); bytes -= in; + wait_on_buffer(bh[k]); + if (!buffer_uptodate(bh[k])) + goto block_release; while (in) { if (pg_offset == PAGE_CACHE_SIZE) { page++;