• Masami Hiramatsu's avatar
    perf buildid-cache: Add --purge FILE to remove all caches of FILE · 8d8c8e4c
    Masami Hiramatsu authored
    Add --purge FILE to remove all caches of FILE.
    
    Since the current --remove FILE removes a cache which has
    same build-id of given FILE. Since the command takes a
    FILE path, it can confuse user who tries to remove cache
    about FILE path.
    
      -----
      # ./perf buildid-cache -v --add ./perf
      Adding 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok
      # (update the ./perf binary)
      # ./perf buildid-cache -v --remove ./perf
      Removing 305bbd1be68f66eca7e2d78db294653031edfa79 ./perf: FAIL
      ./perf wasn't in the cache
      -----
    Actually, the --remove's FAIL is not shown, it just silently fails.
    
    So, this patch adds --purge FILE action for such usecase.
    
    perf buildid-cache --purge FILE removes all caches which has same FILE
    path.
    
    In other words, it removes all caches including old binaries.
    
      -----
      # ./perf buildid-cache -v --add ./perf
      Adding 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok
      # (update the ./perf binary)
      # ./perf buildid-cache -v --purge ./perf
      Removing 133b7b5486d987a5ab5c3ebf4ea14941f45d4d4f ./perf: Ok
      -----
    
    BTW, if you want to purge all the caches, remove ~/.debug/* .
    Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/20150227045026.1999.64084.stgit@localhost.localdomain
    [ s/dirname/dir_name/g to fix build on fedora14, where dirname is a global ]
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    8d8c8e4c
build-id.c 11.6 KB