X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fsquashfs%2Fblock.c;h=41d108ecc9be305211a635bfdf7932ac52d91097;hb=be5090da4abb68caa69ac62ae5253ac540aa829a;hp=fb50652e4e113f54a4447eb147fa56da59a8ba45;hpb=12d9568333de3bfc50ff8d3312c097ba7ea7fe3c;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++;