Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752747AbdFQDrE (ORCPT ); Fri, 16 Jun 2017 23:47:04 -0400 Received: from mail-pg0-f67.google.com ([74.125.83.67]:36837 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752391AbdFQDrA (ORCPT ); Fri, 16 Jun 2017 23:47:00 -0400 From: Taeung Song To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Jiri Olsa , Namhyung Kim Subject: [PATCH v4 5/5] perf config: Autogenerate a config file if it does not exist on setting feature. Date: Sat, 17 Jun 2017 12:46:55 +0900 Message-Id: <1497671215-20637-1-git-send-email-treeze.taeung@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1309 Lines: 53 Currently the users can not create a config file in the below case. Before: $ rm -f ~/.perfconfig $ perf config --user report.children=false $ cat ~/.perfconfig cat: /root/.perfconfig: No such file or directory But I think it should work no matter whether a config file exists or not. After: $ rm -f ~/.perfconfig $ perf config --user report.children=false $ cat ~/.perfconfig # this file is auto-generated. [report] children = false NOTE: If not free config_set after perf_config_set__init() failed, we can do that. The config set will be freed at the tail end. (i.e. by perf_config_set__delete() at the end of cmd_config()) Cc: Jiri Olsa Cc: Namhyung Kim Signed-off-by: Taeung Song --- tools/perf/util/config.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c index 8d724f0..1cc5d80 100644 --- a/tools/perf/util/config.c +++ b/tools/perf/util/config.c @@ -691,10 +691,7 @@ struct perf_config_set *perf_config_set__new(void) if (set) { INIT_LIST_HEAD(&set->sections); - if (perf_config_set__init(set) < 0) { - perf_config_set__delete(set); - set = NULL; - } + perf_config_set__init(set); } return set; -- 2.7.4