Messages in this thread | | | Date | Fri, 17 Jul 2020 09:34:35 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 1/2] libsubcmd: Fix OPT_CALLBACK_SET() |
| |
Em Fri, Jul 17, 2020 at 09:10:45AM +0530, Ravi Bangoria escreveu: > Hi Arnaldo, > > Can you please consider this trivial fix.
Trivial but important, sorry for taking so long, applied to perf/urgent, aimed at v5.8,
- Arnaldo
> Ravi > > On 6/19/20 7:04 PM, Ravi Bangoria wrote: > > Any option macro with _SET suffix should set opt->set variable which > > is not happening for OPT_CALLBACK_SET(). This is causing issues with > > perf record --switch-output-event. Fix that. > > > > Before: > > # ./perf record --overwrite -e sched:*switch,syscalls:sys_enter_mmap \ > > --switch-output-event syscalls:sys_enter_mmap > > ^C[ perf record: Woken up 1 times to write data ] > > [ perf record: Captured and wrote 0.297 MB perf.data (657 samples) ] > > > > After: > > > > $ ./perf record --overwrite -e sched:*switch,syscalls:sys_enter_mmap \ > > --switch-output-event syscalls:sys_enter_mmap > > [ perf record: dump data: Woken up 1 times ] > > [ perf record: Dump perf.data.2020061918144542 ] > > [ perf record: dump data: Woken up 1 times ] > > [ perf record: Dump perf.data.2020061918144608 ] > > [ perf record: dump data: Woken up 1 times ] > > [ perf record: Dump perf.data.2020061918144660 ] > > ^C[ perf record: dump data: Woken up 1 times ] > > [ perf record: Dump perf.data.2020061918144784 ] > > [ perf record: Woken up 0 times to write data ] > > [ perf record: Dump perf.data.2020061918144803 ] > > [ perf record: Captured and wrote 0.419 MB perf.data.<timestamp> ] > > > > Fixes: 636eb4d001b1 ("libsubcmd: Introduce OPT_CALLBACK_SET()") > > Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com> > > --- > > tools/lib/subcmd/parse-options.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/tools/lib/subcmd/parse-options.c b/tools/lib/subcmd/parse-options.c > > index dbb9efbf718a..39ebf6192016 100644 > > --- a/tools/lib/subcmd/parse-options.c > > +++ b/tools/lib/subcmd/parse-options.c > > @@ -237,6 +237,9 @@ static int get_value(struct parse_opt_ctx_t *p, > > return err; > > case OPTION_CALLBACK: > > + if (opt->set) > > + *(bool *)opt->set = true; > > + > > if (unset) > > return (*opt->callback)(opt, NULL, 1) ? (-1) : 0; > > if (opt->flags & PARSE_OPT_NOARG) > >
--
- Arnaldo
| |