Messages in this thread | | | From | Quentin Monnet <> | Subject | Re: [PATCH bpf-next v1 7/7] tools: bpftool: add error message on map pinning failure | Date | Wed, 20 Mar 2019 19:01:28 +0000 |
| |
2019-03-20 18:33 UTC+0100 ~ Alban Crequy <alban.crequy@gmail.com> > From: Alban Crequy <alban@kinvolk.io> > > Symptoms, when "dir" does not exist: > > $ sudo bpftool map create /sys/fs/bpf/dir/fooB type hash key 8 value 8 entries 8 name fooB flags 1 > $ echo $? > 255 > > This patch prints an error message when the map pinning fails. > > Signed-off-by: Alban Crequy <alban@kinvolk.io> > --- > tools/bpf/bpftool/map.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c > index 9befcabc299d..c825eb1bbf8f 100644 > --- a/tools/bpf/bpftool/map.c > +++ b/tools/bpf/bpftool/map.c > @@ -1305,8 +1305,10 @@ static int do_create(int argc, char **argv) > > err = do_pin_fd(fd, pinfile); > close(fd); > - if (err) > + if (err) { > + p_err("failed to pin map to %s", pinfile); > return err; > + }
do_pin_fd() is already susceptible to print an error message, and this may lead to several messages (thus breaking JSON output).
Instead, you could change do_pin_fd() to store the result from bpf_obj_pin(), compare it, and print the message there if non-0.
> > if (json_output) > jsonw_null(json_wtr); >
| |