projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup: remove redundant assignment
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
cmd.c
diff --git
a/src/bin/lttng-sessiond/cmd.c
b/src/bin/lttng-sessiond/cmd.c
index 636450782d7a7a4729d332c379a157140cf02a28..a351d63de706b8843c7b16059f45ba2173b91e6c 100644
(file)
--- a/
src/bin/lttng-sessiond/cmd.c
+++ b/
src/bin/lttng-sessiond/cmd.c
@@
-2167,7
+2167,7
@@
void cmd_list_lttng_sessions(struct lttng_session *sessions, uid_t uid,
/*
* Command LTTNG_DATA_PENDING returning 0 if the data is NOT pending meaning
/*
* Command LTTNG_DATA_PENDING returning 0 if the data is NOT pending meaning
- * ready for trace analysis (or anykind of reader) or else 1 for pending data.
+ * ready for trace analysis (or any
kind of reader) or else 1 for pending data.
*/
int cmd_data_pending(struct ltt_session *session)
{
*/
int cmd_data_pending(struct ltt_session *session)
{
@@
-2223,8
+2223,8
@@
int cmd_snapshot_add_output(struct ltt_session *session,
DBG("Cmd snapshot add output for session %s", session->name);
/*
DBG("Cmd snapshot add output for session %s", session->name);
/*
- * Per
smission denied to create an output if the session is not set in no
- * output mode.
+ * Per
mission denied to create an output if the session is not
+ *
set in no
output mode.
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
@@
-2287,8
+2287,8
@@
int cmd_snapshot_del_output(struct ltt_session *session,
rcu_read_lock();
/*
rcu_read_lock();
/*
- * Per
smission denied to create an output if the session is not set in no
- * output mode.
+ * Per
mission denied to create an output if the session is not
+ *
set in no
output mode.
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
@@
-2339,8
+2339,8
@@
ssize_t cmd_snapshot_list_outputs(struct ltt_session *session,
DBG("Cmd snapshot list outputs for session %s", session->name);
/*
DBG("Cmd snapshot list outputs for session %s", session->name);
/*
- * Per
smission denied to create an output if the session is not set in no
- * output mode.
+ * Per
mission denied to create an output if the session is not
+ *
set in no
output mode.
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
@@
-2401,12
+2401,12
@@
error:
* Send relayd sockets from snapshot output to consumer. Ignore request if the
* snapshot output is *not* set with a remote destination.
*
* Send relayd sockets from snapshot output to consumer. Ignore request if the
* snapshot output is *not* set with a remote destination.
*
- * Return 0 on success or
else a negative valu
e.
+ * Return 0 on success or
a LTTNG_ERR cod
e.
*/
static int set_relayd_for_snapshot(struct consumer_output *consumer,
struct snapshot_output *snap_output, struct ltt_session *session)
{
*/
static int set_relayd_for_snapshot(struct consumer_output *consumer,
struct snapshot_output *snap_output, struct ltt_session *session)
{
- int ret =
0
;
+ int ret =
LTTNG_OK
;
struct lttng_ht_iter iter;
struct consumer_socket *socket;
struct lttng_ht_iter iter;
struct consumer_socket *socket;
@@
-2430,7
+2430,7
@@
static int set_relayd_for_snapshot(struct consumer_output *consumer,
socket, node.node) {
ret = send_consumer_relayd_sockets(0, session->id,
snap_output->consumer, socket);
socket, node.node) {
ret = send_consumer_relayd_sockets(0, session->id,
snap_output->consumer, socket);
- if (ret
< 0
) {
+ if (ret
!= LTTNG_OK
) {
rcu_read_unlock();
goto error;
}
rcu_read_unlock();
goto error;
}
@@
-2444,7
+2444,7
@@
error:
/*
* Record a kernel snapshot.
*
/*
* Record a kernel snapshot.
*
- * Return 0 on success or
else a negative valu
e.
+ * Return 0 on success or
a LTTNG_ERR cod
e.
*/
static int record_kernel_snapshot(struct ltt_kernel_session *ksess,
struct snapshot_output *output, struct ltt_session *session,
*/
static int record_kernel_snapshot(struct ltt_kernel_session *ksess,
struct snapshot_output *output, struct ltt_session *session,
@@
-2460,7
+2460,7
@@
static int record_kernel_snapshot(struct ltt_kernel_session *ksess,
ret = utils_get_current_time_str("%Y%m%d-%H%M%S", output->datetime,
sizeof(output->datetime));
if (!ret) {
ret = utils_get_current_time_str("%Y%m%d-%H%M%S", output->datetime,
sizeof(output->datetime));
if (!ret) {
- ret =
-EINVAL
;
+ ret =
LTTNG_ERR_INVALID
;
goto error;
}
goto error;
}
@@
-2470,23
+2470,26
@@
static int record_kernel_snapshot(struct ltt_kernel_session *ksess,
*/
ret = consumer_copy_sockets(output->consumer, ksess->consumer);
if (ret < 0) {
*/
ret = consumer_copy_sockets(output->consumer, ksess->consumer);
if (ret < 0) {
+ ret = LTTNG_ERR_NOMEM;
goto error;
}
ret = set_relayd_for_snapshot(ksess->consumer, output, session);
goto error;
}
ret = set_relayd_for_snapshot(ksess->consumer, output, session);
- if (ret
< 0
) {
+ if (ret
!= LTTNG_OK
) {
goto error_snapshot;
}
ret = kernel_snapshot_record(ksess, output, wait, nb_streams);
if (ret < 0) {
goto error_snapshot;
}
ret = kernel_snapshot_record(ksess, output, wait, nb_streams);
if (ret < 0) {
- ret =
-
LTTNG_ERR_SNAPSHOT_FAIL;
+ ret = LTTNG_ERR_SNAPSHOT_FAIL;
if (ret == -EINVAL) {
if (ret == -EINVAL) {
- ret =
-
LTTNG_ERR_INVALID;
+ ret = LTTNG_ERR_INVALID;
}
goto error_snapshot;
}
}
goto error_snapshot;
}
+ ret = LTTNG_OK;
+
error_snapshot:
/* Clean up copied sockets so this output can use some other later on. */
consumer_destroy_output_sockets(output->consumer);
error_snapshot:
/* Clean up copied sockets so this output can use some other later on. */
consumer_destroy_output_sockets(output->consumer);
@@
-2497,7
+2500,7
@@
error:
/*
* Record a UST snapshot.
*
/*
* Record a UST snapshot.
*
- * Return 0 on success or
else a negative valu
e.
+ * Return 0 on success or
a LTTNG_ERR error cod
e.
*/
static int record_ust_snapshot(struct ltt_ust_session *usess,
struct snapshot_output *output, struct ltt_session *session,
*/
static int record_ust_snapshot(struct ltt_ust_session *usess,
struct snapshot_output *output, struct ltt_session *session,
@@
-2513,33
+2516,36
@@
static int record_ust_snapshot(struct ltt_ust_session *usess,
ret = utils_get_current_time_str("%Y%m%d-%H%M%S", output->datetime,
sizeof(output->datetime));
if (!ret) {
ret = utils_get_current_time_str("%Y%m%d-%H%M%S", output->datetime,
sizeof(output->datetime));
if (!ret) {
- ret =
-EINVAL
;
+ ret =
LTTNG_ERR_INVALID
;
goto error;
}
/*
goto error;
}
/*
- * Copy
kernel
session sockets so we can communicate with the right
+ * Copy
UST
session sockets so we can communicate with the right
* consumer for the snapshot record command.
*/
ret = consumer_copy_sockets(output->consumer, usess->consumer);
if (ret < 0) {
* consumer for the snapshot record command.
*/
ret = consumer_copy_sockets(output->consumer, usess->consumer);
if (ret < 0) {
+ ret = LTTNG_ERR_NOMEM;
goto error;
}
ret = set_relayd_for_snapshot(usess->consumer, output, session);
goto error;
}
ret = set_relayd_for_snapshot(usess->consumer, output, session);
- if (ret
< 0
) {
+ if (ret
!= LTTNG_OK
) {
goto error_snapshot;
}
ret = ust_app_snapshot_record(usess, output, wait, nb_streams);
if (ret < 0) {
goto error_snapshot;
}
ret = ust_app_snapshot_record(usess, output, wait, nb_streams);
if (ret < 0) {
- ret =
-
LTTNG_ERR_SNAPSHOT_FAIL;
+ ret = LTTNG_ERR_SNAPSHOT_FAIL;
if (ret == -EINVAL) {
if (ret == -EINVAL) {
- ret =
-
LTTNG_ERR_INVALID;
+ ret = LTTNG_ERR_INVALID;
}
goto error_snapshot;
}
}
goto error_snapshot;
}
+ ret = LTTNG_OK;
+
error_snapshot:
/* Clean up copied sockets so this output can use some other later on. */
consumer_destroy_output_sockets(output->consumer);
error_snapshot:
/* Clean up copied sockets so this output can use some other later on. */
consumer_destroy_output_sockets(output->consumer);
@@
-2584,15
+2590,15
@@
int cmd_snapshot_record(struct ltt_session *session,
int ret = LTTNG_OK;
unsigned int use_tmp_output = 0;
struct snapshot_output tmp_output;
int ret = LTTNG_OK;
unsigned int use_tmp_output = 0;
struct snapshot_output tmp_output;
- unsigned int nb_streams;
+ unsigned int nb_streams
, snapshot_success = 0
;
assert(session);
DBG("Cmd snapshot record for session %s", session->name);
/*
assert(session);
DBG("Cmd snapshot record for session %s", session->name);
/*
- * Per
smission denied to create an output if the session is not set in no
- * output mode.
+ * Per
mission denied to create an output if the session is not
+ *
set in no
output mode.
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
*/
if (session->output_traces) {
ret = LTTNG_ERR_EPERM;
@@
-2618,6
+2624,8
@@
int cmd_snapshot_record(struct ltt_session *session,
}
goto error;
}
}
goto error;
}
+ /* Use the global session count for the temporary snapshot. */
+ tmp_output.nb_snapshot = session->snapshot.nb_snapshot;
use_tmp_output = 1;
}
use_tmp_output = 1;
}
@@
-2633,9
+2641,10
@@
int cmd_snapshot_record(struct ltt_session *session,
if (use_tmp_output) {
ret = record_kernel_snapshot(ksess, &tmp_output, session,
wait, nb_streams);
if (use_tmp_output) {
ret = record_kernel_snapshot(ksess, &tmp_output, session,
wait, nb_streams);
- if (ret
< 0
) {
+ if (ret
!= LTTNG_OK
) {
goto error;
}
goto error;
}
+ snapshot_success = 1;
} else {
struct snapshot_output *sout;
struct lttng_ht_iter iter;
} else {
struct snapshot_output *sout;
struct lttng_ht_iter iter;
@@
-2661,12
+2670,15
@@
int cmd_snapshot_record(struct ltt_session *session,
sizeof(tmp_output.name));
}
sizeof(tmp_output.name));
}
+ tmp_output.nb_snapshot = session->snapshot.nb_snapshot;
+
ret = record_kernel_snapshot(ksess, &tmp_output,
session, wait, nb_streams);
ret = record_kernel_snapshot(ksess, &tmp_output,
session, wait, nb_streams);
- if (ret
< 0
) {
+ if (ret
!= LTTNG_OK
) {
rcu_read_unlock();
goto error;
}
rcu_read_unlock();
goto error;
}
+ snapshot_success = 1;
}
rcu_read_unlock();
}
}
rcu_read_unlock();
}
@@
-2678,9
+2690,10
@@
int cmd_snapshot_record(struct ltt_session *session,
if (use_tmp_output) {
ret = record_ust_snapshot(usess, &tmp_output, session,
wait, nb_streams);
if (use_tmp_output) {
ret = record_ust_snapshot(usess, &tmp_output, session,
wait, nb_streams);
- if (ret
< 0
) {
+ if (ret
!= LTTNG_OK
) {
goto error;
}
goto error;
}
+ snapshot_success = 1;
} else {
struct snapshot_output *sout;
struct lttng_ht_iter iter;
} else {
struct snapshot_output *sout;
struct lttng_ht_iter iter;
@@
-2695,8
+2708,6
@@
int cmd_snapshot_record(struct ltt_session *session,
memset(&tmp_output, 0, sizeof(tmp_output));
memcpy(&tmp_output, sout, sizeof(tmp_output));
memset(&tmp_output, 0, sizeof(tmp_output));
memcpy(&tmp_output, sout, sizeof(tmp_output));
- fprintf(stderr, "Name: %s\n", output->name);
-
/* Use temporary max size. */
if (output->max_size != (uint64_t) -1ULL) {
tmp_output.max_size = output->max_size;
/* Use temporary max size. */
if (output->max_size != (uint64_t) -1ULL) {
tmp_output.max_size = output->max_size;
@@
-2708,17
+2719,24
@@
int cmd_snapshot_record(struct ltt_session *session,
sizeof(tmp_output.name));
}
sizeof(tmp_output.name));
}
+ tmp_output.nb_snapshot = session->snapshot.nb_snapshot;
+
ret = record_ust_snapshot(usess, &tmp_output, session,
wait, nb_streams);
ret = record_ust_snapshot(usess, &tmp_output, session,
wait, nb_streams);
- if (ret
< 0
) {
+ if (ret
!= LTTNG_OK
) {
rcu_read_unlock();
goto error;
}
rcu_read_unlock();
goto error;
}
+ snapshot_success = 1;
}
rcu_read_unlock();
}
}
}
rcu_read_unlock();
}
}
+ if (snapshot_success) {
+ session->snapshot.nb_snapshot++;
+ }
+
error:
return ret;
}
error:
return ret;
}
This page took
0.028002 seconds
and
4
git commands to generate.