diff options
author | David Howells <dhowells@redhat.com> | 2009-04-23 17:41:18 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-24 22:28:31 +0200 |
commit | 4b2b0b9753194cad44d7295c32044b89710efd70 (patch) | |
tree | 7ff42b7aa3f05bcf61cfdb7abb2c23418b218291 /fs/romfs/storage.c | |
parent | ROMFS: romfs_lookup() shouldn't be doing a partial name comparison (diff) | |
download | linux-4b2b0b9753194cad44d7295c32044b89710efd70.tar.xz linux-4b2b0b9753194cad44d7295c32044b89710efd70.zip |
ROMFS: Advance destination buffer pointer when reading from a blockdev
RomFS should advance the destination buffer pointer when reading data from a
blockdev source (the data may be split over multiple blocks, each requiring its
own sb_read() call). Without this, all the data is copied to the beginning of
the output buffer.
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/romfs/storage.c')
-rw-r--r-- | fs/romfs/storage.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/romfs/storage.c b/fs/romfs/storage.c index 66ce9ddfe504..b3208adf8e71 100644 --- a/fs/romfs/storage.c +++ b/fs/romfs/storage.c @@ -120,6 +120,7 @@ static int romfs_blk_read(struct super_block *sb, unsigned long pos, return -EIO; memcpy(buf, bh->b_data + offset, segment); brelse(bh); + buf += segment; buflen -= segment; pos += segment; } |