path: root/samples
diff options
authorJuhee Kang <>2021-07-27 04:10:55 +0000
committerAndrii Nakryiko <>2021-07-27 11:15:09 -0700
commit7d07006f05922b95518be403f08ef8437b67aa32 (patch)
tree256a91c7b7c62829f0b7119a6d15c7deef1a9ead /samples
parent4cda0c82a34bce96a4e7f229e48a0a57f39acd1b (diff)
samples: bpf: Fix tracex7 error raised on the missing argument
The current behavior of 'tracex7' doesn't consist with other bpf samples tracex{1..6}. Other samples do not require any argument to run with, but tracex7 should be run with btrfs device argument. (it should be executed with Currently, tracex7 doesn't have any description about how to run this program and raises an unexpected error. And this result might be confusing since users might not have a hunch about how to run this program. // Current behavior # ./tracex7 sh: 1: Syntax error: word unexpected (expecting ")") // Fixed behavior # ./tracex7 ERROR: Run with the btrfs device argument! In order to fix this error, this commit adds logic to report a message and exit when running this program with a missing argument. Additionally in, there is a problem with multiple directory(tmpmnt) creation. So in this commit adds a line with removing the directory with every execution. Signed-off-by: Juhee Kang <> Signed-off-by: Andrii Nakryiko <> Acked-by: Yonghong Song <> Link:
Diffstat (limited to 'samples')
2 files changed, 6 insertions, 0 deletions
diff --git a/samples/bpf/ b/samples/bpf/
index e68b9ee6814b..35db26f736b9 100755
--- a/samples/bpf/
+++ b/samples/bpf/
@@ -1,5 +1,6 @@
+rm -r tmpmnt
rm -f testfile.img
dd if=/dev/zero of=testfile.img bs=1M seek=1000 count=1
DEVICE=$(losetup --show -f testfile.img)
diff --git a/samples/bpf/tracex7_user.c b/samples/bpf/tracex7_user.c
index fdcd6580dd73..8be7ce18d3ba 100644
--- a/samples/bpf/tracex7_user.c
+++ b/samples/bpf/tracex7_user.c
@@ -14,6 +14,11 @@ int main(int argc, char **argv)
int ret = 0;
FILE *f;
+ if (!argv[1]) {
+ fprintf(stderr, "ERROR: Run with the btrfs device argument!\n");
+ return 0;
+ }
snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
obj = bpf_object__open_file(filename, NULL);
if (libbpf_get_error(obj)) {