mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02: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 <zanussi@us.ibm.com> Signed-off-by: David Wilder <dwilder@us.ibm.com> Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									ea7fc3336b
								
							
						
					
					
						commit
						8d62fdebda
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		|  | @ -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; | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 David Wilder
						David Wilder