From 751667bdf3d5d79ca89a6dcf1a2d8155c8cfbc3c Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 16 Aug 2011 09:18:36 -0400 Subject: [PATCH] kconsumerd: fix infinite loop in splice handling of subbuf larger than 4k Signed-off-by: Mathieu Desnoyers --- liblttngkconsumerd/lttngkconsumerd.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/liblttngkconsumerd/lttngkconsumerd.c b/liblttngkconsumerd/lttngkconsumerd.c index ba26026c4..b6a533c17 100644 --- a/liblttngkconsumerd/lttngkconsumerd.c +++ b/liblttngkconsumerd/lttngkconsumerd.c @@ -474,9 +474,7 @@ int lttng_kconsumerd_on_read_subbuffer_splice( perror("Error in file splice"); goto splice_error; } - if (ret >= len) { - len = 0; - } + len -= ret; /* This won't block, but will start writeout asynchronously */ sync_file_range(outfd, kconsumerd_fd->out_fd_offset, ret, SYNC_FILE_RANGE_WRITE); -- 2.34.1