• Ravi Bangoria's avatar
    libsubcmd: Fix OPT_CALLBACK_SET() · a2db71b9
    Ravi Bangoria authored
    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: 636eb4d0 ("libsubcmd: Introduce OPT_CALLBACK_SET()")
    Signed-off-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Link: http://lore.kernel.org/lkml/20200619133412.50705-1-ravi.bangoria@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a2db71b9
parse-options.c 23.5 KB