summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2012-09-04 18:45:54 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-14 10:00:32 -0700
commitb4b55ff702c3551ba39ccec0b1dda9e3b57429be (patch)
tree3ad28ac491732e607652401e9eefb20d2a3ce55b
parent6cbe67f990c723facaeed94e29a1d854dc5930ec (diff)
downloadlinux-3.10-b4b55ff702c3551ba39ccec0b1dda9e3b57429be.tar.gz
linux-3.10-b4b55ff702c3551ba39ccec0b1dda9e3b57429be.tar.bz2
linux-3.10-b4b55ff702c3551ba39ccec0b1dda9e3b57429be.zip
fuse: fix retrieve length
commit c9e67d483776d8d2a5f3f70491161b205930ffe1 upstream. In some cases fuse_retrieve() would return a short byte count if offset was non-zero. The data returned was correct, though. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/fuse/dev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 7df2b5e8fbe..f4246cfc8d8 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -1576,6 +1576,7 @@ static int fuse_retrieve(struct fuse_conn *fc, struct inode *inode,
req->pages[req->num_pages] = page;
req->num_pages++;
+ offset = 0;
num -= this_num;
total_len += this_num;
index++;