Message ID | 20210724152124.9762-1-claudiajkang@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [bpf-next,1/2] samples: bpf: Fix tracex7 error raised on the missing argument | expand |
On 7/24/21 8:21 AM, Juhee Kang wrote: > 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 test_override_return.sh) > > 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 test_override_return.sh, 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 <claudiajkang@gmail.com> Acked-by: Yonghong Song <yhs@fb.com>
On Sat, Jul 24, 2021 at 8:21 AM Juhee Kang <claudiajkang@gmail.com> wrote: > > 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 test_override_return.sh) > > 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 test_override_return.sh, 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 <claudiajkang@gmail.com> > --- > samples/bpf/test_override_return.sh | 1 + > samples/bpf/tracex7_user.c | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/samples/bpf/test_override_return.sh b/samples/bpf/test_override_return.sh > index e68b9ee6814b..6480b55502c7 100755 > --- a/samples/bpf/test_override_return.sh > +++ b/samples/bpf/test_override_return.sh > @@ -1,5 +1,6 @@ > #!/bin/bash > > +rm -rf tmpmnt Do we need -rf or -r would do? > 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)) { > -- > 2.27.0 >
On Tue, Jul 27, 2021 at 5:08 AM Andrii Nakryiko <andrii.nakryiko@gmail.com> wrote: > > On Sat, Jul 24, 2021 at 8:21 AM Juhee Kang <claudiajkang@gmail.com> wrote: > > > > 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 test_override_return.sh) > > > > 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 test_override_return.sh, 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 <claudiajkang@gmail.com> > > --- > > samples/bpf/test_override_return.sh | 1 + > > samples/bpf/tracex7_user.c | 5 +++++ > > 2 files changed, 6 insertions(+) > > > > diff --git a/samples/bpf/test_override_return.sh b/samples/bpf/test_override_return.sh > > index e68b9ee6814b..6480b55502c7 100755 > > --- a/samples/bpf/test_override_return.sh > > +++ b/samples/bpf/test_override_return.sh > > @@ -1,5 +1,6 @@ > > #!/bin/bash > > > > +rm -rf tmpmnt > > Do we need -rf or -r would do? > It works properly using only -r. Thanks for pointing it out! I will stick to this method. I will send the next version as soon as possible. > > 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)) { > > -- > > 2.27.0 > > -- Best regards, Juhee Kang
diff --git a/samples/bpf/test_override_return.sh b/samples/bpf/test_override_return.sh index e68b9ee6814b..6480b55502c7 100755 --- a/samples/bpf/test_override_return.sh +++ b/samples/bpf/test_override_return.sh @@ -1,5 +1,6 @@ #!/bin/bash +rm -rf 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)) {
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 test_override_return.sh) 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 test_override_return.sh, 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 <claudiajkang@gmail.com> --- samples/bpf/test_override_return.sh | 1 + samples/bpf/tracex7_user.c | 5 +++++ 2 files changed, 6 insertions(+)