From: jonathan.rajotte-julien@efficios.com (Jonathan Rajotte)
Subject: [lttng-dev] [PATCH lttng-tools] Save/load: add support for shared memory path
Date: Fri, 17 Apr 2015 17:26:41 -0400 [thread overview]
Message-ID: <1429306001-12872-1-git-send-email-jonathan.rajotte-julien@efficios.com> (raw)
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien at efficios.com>
---
src/bin/lttng-sessiond/save.c | 10 ++++++++++
src/common/config/config-session-abi.h | 1 +
src/common/config/config.c | 19 +++++++++++++++++++
src/common/config/session.xsd | 1 +
4 files changed, 31 insertions(+)
diff --git a/src/bin/lttng-sessiond/save.c b/src/bin/lttng-sessiond/save.c
index 0c6894b..d6316ef 100644
--- a/src/bin/lttng-sessiond/save.c
+++ b/src/bin/lttng-sessiond/save.c
@@ -1663,6 +1663,16 @@ int save_session(struct ltt_session *session,
goto end;
}
+ if(session->shm_path[0] != '\0') {
+ ret = config_writer_write_element_string(writer,
+ config_element_shared_memory_path,
+ session->shm_path);
+ if (ret) {
+ ret = LTTNG_ERR_SAVE_IO_FAIL;
+ goto end;
+ }
+ }
+
ret = save_domains(writer, session);
if (ret) {
goto end;
diff --git a/src/common/config/config-session-abi.h b/src/common/config/config-session-abi.h
index 8cbff25..8ac5cb0 100644
--- a/src/common/config/config-session-abi.h
+++ b/src/common/config/config-session-abi.h
@@ -67,6 +67,7 @@ const char * const config_element_data_uri;
const char * const config_element_max_size;
const char * const config_element_pid;
const char * const config_element_pids;
+const char * const config_element_shared_memory_path;
const char * const config_domain_type_kernel;
const char * const config_domain_type_ust;
diff --git a/src/common/config/config.c b/src/common/config/config.c
index d84e38b..bc4f0c0 100644
--- a/src/common/config/config.c
+++ b/src/common/config/config.c
@@ -117,6 +117,7 @@ const char * const config_element_data_uri = "data_uri";
const char * const config_element_max_size = "max_size";
const char * const config_element_pid = "pid";
const char * const config_element_pids = "pids";
+const char * const config_element_shared_memory_path = "shared_memory_path";
const char * const config_domain_type_kernel = "KERNEL";
const char * const config_domain_type_ust = "UST";
@@ -2172,6 +2173,7 @@ int process_session_node(xmlNodePtr session_node, const char *session_name,
int ret, started = -1, snapshot_mode = -1;
uint64_t live_timer_interval = UINT64_MAX;
char *name = NULL;
+ char *shm_path = NULL;
xmlNodePtr domains_node = NULL;
xmlNodePtr output_node = NULL;
xmlNodePtr node;
@@ -2216,6 +2218,16 @@ int process_session_node(xmlNodePtr session_node, const char *session_name,
config_element_output)) {
/* output */
output_node = node;
+ } else if (!shm_path && !strcmp((const char *) node->name,
+ config_element_shared_memory_path)) {
+ /* shared memory path */
+ xmlChar *node_content = xmlNodeGetContent(node);
+ if (!node_content) {
+ ret = -LTTNG_ERR_NOMEM;
+ goto error;
+ }
+
+ shm_path = (char *) node_content;
} else {
/* attributes, snapshot_mode or live_timer_interval */
xmlNodePtr attributes_child =
@@ -2356,6 +2368,13 @@ domain_init_error:
goto error;
}
+ if (shm_path) {
+ ret = lttng_set_session_shm_path(name, shm_path);
+ if (ret) {
+ goto error;
+ }
+ }
+
for (node = xmlFirstElementChild(domains_node); node;
node = xmlNextElementSibling(node)) {
ret = process_domain_node(node, name);
diff --git a/src/common/config/session.xsd b/src/common/config/session.xsd
index 6d74e85..0a7458d 100644
--- a/src/common/config/session.xsd
+++ b/src/common/config/session.xsd
@@ -279,6 +279,7 @@ elementFormDefault="qualified" version="2.5">
<xs:complexType name="session_type">
<xs:all>
<xs:element name="name" type="name_type"/>
+ <xs:element name="shared_memory_path" type="xs:string" minOccurs="0"/>
<xs:element name="domains" type="domain_list_type" minOccurs="0"/>
<xs:element name="started" type="xs:boolean" default="0" minOccurs="0"/>
<xs:element name="attributes" type="session_attributes_type" minOccurs="0"/>
--
2.1.4
next reply other threads:[~2015-04-17 21:26 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-17 21:26 Jonathan Rajotte [this message]
2015-06-25 17:09 ` Jérémie Galarneau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1429306001-12872-1-git-send-email-jonathan.rajotte-julien@efficios.com \
--to=jonathan.rajotte-julien@efficios.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox