summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2009-04-23 16:41:18 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-24 13:28:31 -0700
commit4b2b0b9753194cad44d7295c32044b89710efd70 (patch)
tree7ff42b7aa3f05bcf61cfdb7abb2c23418b218291 /fs
parent84baf74bf23bbe9f3deafb5d2f27e2b5dc0bc052 (diff)
downloadlinux-3.10-4b2b0b9753194cad44d7295c32044b89710efd70.tar.gz
linux-3.10-4b2b0b9753194cad44d7295c32044b89710efd70.tar.bz2
linux-3.10-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')
-rw-r--r--fs/romfs/storage.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/romfs/storage.c b/fs/romfs/storage.c
index 66ce9ddfe50..b3208adf8e7 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;
}