From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 7A5371C98C for ; Mon, 14 May 2018 18:27:47 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 May 2018 09:27:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,400,1520924400"; d="scan'208";a="49132552" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by FMSMGA003.fm.intel.com with ESMTP; 14 May 2018 09:27:43 -0700 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id w4EGRh9Z009132; Mon, 14 May 2018 17:27:43 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w4EGRgQf030611; Mon, 14 May 2018 17:27:42 +0100 Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w4EGRgBG030607; Mon, 14 May 2018 17:27:42 +0100 From: Anatoly Burakov To: dev@dpdk.org Cc: Bruce Richardson , thomas@monjalon.net Date: Mon, 14 May 2018 17:27:42 +0100 Message-Id: <7ed269768d706cfe733fb6f9c412a2356947b164.1526315209.git.anatoly.burakov@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 4/4] eal: move all runtime data into DPDK runtime dir X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 May 2018 16:27:48 -0000 Fix all calls to functions in eal_filesystem to produce paths residing inside dedicated DPDK runtime directory. Leaving DPDK runtime config in place as 3rd-party applications within the DPDK ecosystem might rely on this path to determine whether DPDK is running, so moving that will be postponed to the next release cycle. Signed-off-by: Anatoly Burakov --- Notes: v3: - Leave rte_config path as is lib/librte_eal/bsdapp/eal/eal.c | 4 ++- lib/librte_eal/common/eal_filesystem.h | 61 +++++++++------------------------- lib/librte_eal/linuxapp/eal/eal.c | 4 ++- 3 files changed, 22 insertions(+), 47 deletions(-) diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c index de88b6a..c890bfe 100644 --- a/lib/librte_eal/bsdapp/eal/eal.c +++ b/lib/librte_eal/bsdapp/eal/eal.c @@ -87,10 +87,12 @@ int rte_cycles_vmware_tsc_map; /* platform-specific runtime dir */ static char runtime_dir[PATH_MAX]; +static const char *default_runtime_dir = "/var/run"; + int eal_create_runtime_dir(void) { - const char *directory = default_config_dir; + const char *directory = default_runtime_dir; const char *xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"); const char *fallback = "/tmp"; char tmp[PATH_MAX]; diff --git a/lib/librte_eal/common/eal_filesystem.h b/lib/librte_eal/common/eal_filesystem.h index 67f5ca8..364f38d 100644 --- a/lib/librte_eal/common/eal_filesystem.h +++ b/lib/librte_eal/common/eal_filesystem.h @@ -13,7 +13,6 @@ /** Path of rte config file. */ #define RUNTIME_CONFIG_FMT "%s/.%s_config" -#define FBARRAY_FMT "%s/.%s_%s" #include #include @@ -23,8 +22,6 @@ #include #include "eal_internal_cfg.h" -static const char *default_config_dir = "/var/run"; - /* sets up platform-specific runtime data dir */ int eal_create_runtime_dir(void); @@ -37,7 +34,7 @@ static inline const char * eal_runtime_config_path(void) { static char buffer[PATH_MAX]; /* static so auto-zeroed */ - const char *directory = default_config_dir; + const char *directory = "/var/run"; const char *home_dir = getenv("HOME"); if (getuid() != 0 && home_dir != NULL) @@ -48,65 +45,45 @@ eal_runtime_config_path(void) } /** Path of primary/secondary communication unix socket file. */ -#define MP_SOCKET_PATH_FMT "%s/.%s_unix" +#define MP_SOCKET_FNAME "mp_socket" static inline const char * eal_mp_socket_path(void) { static char buffer[PATH_MAX]; /* static so auto-zeroed */ - const char *directory = default_config_dir; - const char *home_dir = getenv("HOME"); - - if (getuid() != 0 && home_dir != NULL) - directory = home_dir; - snprintf(buffer, sizeof(buffer) - 1, MP_SOCKET_PATH_FMT, - directory, internal_config.hugefile_prefix); + snprintf(buffer, sizeof(buffer) - 1, "%s/%s", eal_get_runtime_dir(), + MP_SOCKET_FNAME); return buffer; } +#define FBARRAY_NAME_FMT "%s/fbarray_%s" static inline const char * eal_get_fbarray_path(char *buffer, size_t buflen, const char *name) { - const char *directory = "/tmp"; - const char *home_dir = getenv("HOME"); - - if (getuid() != 0 && home_dir != NULL) - directory = home_dir; - snprintf(buffer, buflen - 1, FBARRAY_FMT, directory, - internal_config.hugefile_prefix, name); + snprintf(buffer, buflen, FBARRAY_NAME_FMT, eal_get_runtime_dir(), name); return buffer; } /** Path of hugepage info file. */ -#define HUGEPAGE_INFO_FMT "%s/.%s_hugepage_info" - +#define HUGEPAGE_INFO_FNAME "hugepage_info" static inline const char * eal_hugepage_info_path(void) { static char buffer[PATH_MAX]; /* static so auto-zeroed */ - const char *directory = default_config_dir; - const char *home_dir = getenv("HOME"); - if (getuid() != 0 && home_dir != NULL) - directory = home_dir; - snprintf(buffer, sizeof(buffer) - 1, HUGEPAGE_INFO_FMT, directory, - internal_config.hugefile_prefix); + snprintf(buffer, sizeof(buffer) - 1, "%s/%s", eal_get_runtime_dir(), + HUGEPAGE_INFO_FNAME); return buffer; } -/** Path of hugepage info file. */ -#define HUGEPAGE_FILE_FMT "%s/.%s_hugepage_file" - +/** Path of hugepage data file. */ +#define HUGEPAGE_DATA_FNAME "hugepage_data" static inline const char * eal_hugepage_data_path(void) { static char buffer[PATH_MAX]; /* static so auto-zeroed */ - const char *directory = default_config_dir; - const char *home_dir = getenv("HOME"); - if (getuid() != 0 && home_dir != NULL) - directory = home_dir; - snprintf(buffer, sizeof(buffer) - 1, HUGEPAGE_FILE_FMT, directory, - internal_config.hugefile_prefix); + snprintf(buffer, sizeof(buffer) - 1, "%s/%s", eal_get_runtime_dir(), + HUGEPAGE_DATA_FNAME); return buffer; } @@ -122,18 +99,12 @@ eal_get_hugefile_path(char *buffer, size_t buflen, const char *hugedir, int f_id } /** String format for hugepage map lock files. */ -#define HUGEFILE_LOCK_FMT "%s/.%smap_%d.lock" - +#define HUGEFILE_LOCK_FMT "%s/map_%d.lock" static inline const char * eal_get_hugefile_lock_path(char *buffer, size_t buflen, int f_id) { - const char *directory = default_config_dir; - const char *home_dir = getenv("HOME"); - - if (getuid() != 0 && home_dir != NULL) - directory = home_dir; - snprintf(buffer, buflen - 1, HUGEFILE_LOCK_FMT, directory, - internal_config.hugefile_prefix, f_id); + snprintf(buffer, buflen, HUGEFILE_LOCK_FMT, eal_get_runtime_dir(), + f_id); buffer[buflen - 1] = '\0'; return buffer; } diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index 6048063..bed5823 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -95,10 +95,12 @@ int rte_cycles_vmware_tsc_map; /* platform-specific runtime dir */ static char runtime_dir[PATH_MAX]; +static const char *default_runtime_dir = "/var/run"; + int eal_create_runtime_dir(void) { - const char *directory = default_config_dir; + const char *directory = default_runtime_dir; const char *xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"); const char *fallback = "/tmp"; char tmp[PATH_MAX]; -- 2.7.4