mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-30 05:42:46 +01:00
relay file read: start-pos fix
Fix a bug in the relay read interface causing the number of consumed bytes to be set incorrectly. Signed-off-by: Tom Zanussi <[email protected]> Signed-off-by: David Wilder <[email protected]> Cc: Masami Hiramatsu <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
1 parent
ea7fc3336b
commit
8d62fdebda
1 file changed
+3
@@ -899,7 +899,10 @@ static size_t relay_file_read_start_pos(size_t read_pos,
|
||||
size_t read_subbuf, padding, padding_start, padding_end;
|
||||
size_t subbuf_size = buf->chan->subbuf_size;
|
||||
size_t n_subbufs = buf->chan->n_subbufs;
|
||||
size_t consumed = buf->subbufs_consumed % n_subbufs;
|
||||
|
||||
if (!read_pos)
|
||||
read_pos = consumed * subbuf_size + buf->bytes_consumed;
|
||||
read_subbuf = read_pos / subbuf_size;
|
||||
padding = buf->padding[read_subbuf];
|
||||
padding_start = (read_subbuf + 1) * subbuf_size - padding;
|
||||
|
||||
Reference in new issue
Block a user