Re: [PATCH] perf tools: Fix copyfile_offset update of output offset

From: Arnaldo Carvalho de Melo
Date: Fri Jan 12 2018 - 14:46:37 EST


Em Tue, Jan 09, 2018 at 02:39:23PM +0100, Jiri Olsa escreveu:
> We need to increase output offset in each iteration,
> not decrease it as we currently do.
>
> I guess we were lucky to finish in most cases in first
> iteration, so the bug never showed. However it shows a
> lot when working with big (~4GB) size data.

Try adding these in the future:

Fixes: 9c9f5a2f1944 ("perf tools: Introduce copyfile_offset() function")

Probably there are people tracking those to apply to older kernels :-)

- Arnaldo

> Link: http://lkml.kernel.org/n/tip-f4az7t2nxjbjz5tqrv83z64e@xxxxxxxxxxxxxx
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/perf/util/util.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> index a789f952b3e9..443892dabedb 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -210,7 +210,7 @@ static int copyfile_offset(int ifd, loff_t off_in, int ofd, loff_t off_out, u64
>
> size -= ret;
> off_in += ret;
> - off_out -= ret;
> + off_out += ret;
> }
> munmap(ptr, off_in + size);
>
> --
> 2.13.6