bpftool: Enable line buffering for stdout
authorPaul Chaignon <paul@isovalent.com>
Mon, 20 Dec 2021 21:45:28 +0000 (22:45 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 09:53:59 +0000 (10:53 +0100)
[ Upstream commit 1a1a0b0364ad291bd8e509da104ac8b5b1afec5d ]

The output of bpftool prog tracelog is currently buffered, which is
inconvenient when piping the output into other commands. A simple
tracelog | grep will typically not display anything. This patch fixes it
by enabling line buffering on stdout for the whole bpftool binary.

Fixes: 30da46b5dc3a ("tools: bpftool: add a command to dump the trace pipe")
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Paul Chaignon <paul@isovalent.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20211220214528.GA11706@Mem
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/bpf/bpftool/main.c

index c58a135..1854d6b 100644 (file)
@@ -396,6 +396,8 @@ int main(int argc, char **argv)
        };
        int opt, ret;
 
+       setlinebuf(stdout);
+
        last_do_help = do_help;
        pretty_output = false;
        json_output = false;