David Goulet [Fri, 5 Jul 2013 18:41:58 +0000 (14:41 -0400)]
Fix: don't try to send stream to relayd if not in streaming
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 4 Jul 2013 20:25:27 +0000 (16:25 -0400)]
Fix: relayd refcount updates for stream
Increment refcount only when the stream was successfully sent to the
relayd and set the new stream's flag "sent_to_relayd" which is used
before the refcount update when closing the relayd. A stream that was
unable to be sent, the close relayd code path does not decrement the
refcount anymore.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 4 Jul 2013 20:31:27 +0000 (16:31 -0400)]
Fix: don't send error to sessiond on orderly shutdown
The send always fail if the sessiond has closed the socket so no point
of trying to send an error.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 4 Jul 2013 20:14:46 +0000 (16:14 -0400)]
Fix: bad pathname used when sending kernel stream to relayd
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 4 Jul 2013 19:35:21 +0000 (15:35 -0400)]
Fix: add globally visible flag in stream
This flag is added so we can destroy it correctly with the
consumer-stream API.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 4 Jul 2013 18:57:06 +0000 (14:57 -0400)]
Fix: destroy metadata stream on setup metadata error path
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 4 Jul 2013 18:07:04 +0000 (14:07 -0400)]
Fix: send kernel stream to relayd only if needed
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Fri, 5 Jul 2013 17:37:01 +0000 (13:37 -0400)]
Fix: destroy streams for kernel snapshot sessions as well
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Fri, 5 Jul 2013 17:37:00 +0000 (13:37 -0400)]
Fix: close and destroy metadata stream after a kernel snapshot
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 5 Jul 2013 16:01:10 +0000 (12:01 -0400)]
Fix: print errno message on connect() error
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Thu, 4 Jul 2013 22:37:35 +0000 (18:37 -0400)]
Fix: possible double-close on stream out_fd
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 4 Jul 2013 19:54:38 +0000 (15:54 -0400)]
Fix: session ID signess to uin64_t in sessiond
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Thu, 4 Jul 2013 15:56:47 +0000 (11:56 -0400)]
Tests: fix validation trace path in kernel snapshot
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Thu, 4 Jul 2013 02:29:41 +0000 (22:29 -0400)]
Tests: Add UST snapshot local and streaming
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Tue, 18 Jun 2013 19:25:53 +0000 (15:25 -0400)]
Add UST snapshot support
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Tue, 2 Jul 2013 19:14:02 +0000 (15:14 -0400)]
Fix: consumer_add_relayd_socket() report errors to sessiond
Wait until the side-effect to relayd is actually performed before
replying that "all is fine" to sessiond.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 2 Jul 2013 19:12:42 +0000 (15:12 -0400)]
Fix: add missing enum lttcomm_return_code entries
Those should not appear as unknown.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 2 Jul 2013 20:20:33 +0000 (16:20 -0400)]
Fix: UST per-UID channels persist across application teardown
Fixes #582
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Fri, 28 Jun 2013 20:13:53 +0000 (16:13 -0400)]
Fix: kernel snapshot metadata handling and error paths
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 19:44:14 +0000 (15:44 -0400)]
Fix: coding style and debug statement
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 19:30:25 +0000 (15:30 -0400)]
Fix: put subbuffer back in kernel snapshot error path
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Wed, 12 Jun 2013 18:59:05 +0000 (14:59 -0400)]
Fix: overflow in uri_to_str_url
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 18:35:09 +0000 (14:35 -0400)]
Fix: detect the correct version of LTTng-UST
Fixes #580
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Fri, 28 Jun 2013 16:19:51 +0000 (12:19 -0400)]
Fix: sessiond: use uint64_t for all session ids
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 18:23:23 +0000 (14:23 -0400)]
Tests: add kernel snapshot streaming to root regression
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 18:22:00 +0000 (14:22 -0400)]
Tests: remove debug output from test
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 18:17:34 +0000 (14:17 -0400)]
Tests: Add kernel snapshot streaming
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 18:16:15 +0000 (14:16 -0400)]
Fix: use snapshot consumer output for kernel
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 16:07:17 +0000 (12:07 -0400)]
Fix: periodical flush check trace before stop
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Fri, 28 Jun 2013 15:26:04 +0000 (11:26 -0400)]
Fix: consumer: 64-bit index for relayd rather than 32-bit (v2)
Relayd "unique" ids wrap every 32-bit, and in some cases, negative
values are considered as error.
Change this to make the error value specifically -1ULL, use a direct
comparison (since we use an unsigned 64-bit integer, comparison with 0
becomes incorrect).
Since we now use a 64-bit ID, it is assumed to _never_ wrap-around
(remember, value -1ULL is an _error_). Therefore,
consumer_add_relayd_socket() can become much more strict than it was:
instead of accepting re-use of net_seq_idx, we can now assert that upon
LTTNG_STREAM_CONTROL socket, we have indeed allocated a relayd object,
and upon LTTNG_STREAM_DATA, we have found a relayd object.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Tue, 18 Jun 2013 22:07:21 +0000 (18:07 -0400)]
Fix UST channel/stream output assignation
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Thu, 27 Jun 2013 21:57:06 +0000 (17:57 -0400)]
Fix: send per-pid session id in channel creation
The registry indexing for per-pid sessions is done with a per-pid
session id. So for per-pid buffers, we need to send the per-pid session
id as well as the global session id to the consumer in order to give it
enough information if it needs to request metadata later.
This patch adds the session_id_per_pid to the channel creation message
and to the consumer. When the sessiond receives a metadata_request,
depending on the buffer type (per-pid or per-uid), it selects the right
id to do the registry lookup.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Conflicts:
src/bin/lttng-sessiond/consumer.c
src/bin/lttng-sessiond/consumer.h
src/bin/lttng-sessiond/ust-consumer.c
src/common/consumer.c
src/common/consumer.h
src/common/kernel-consumer/kernel-consumer.c
src/common/sessiond-comm/sessiond-comm.h
src/common/ust-consumer/ust-consumer.c
Mathieu Desnoyers [Thu, 27 Jun 2013 21:32:37 +0000 (17:32 -0400)]
Fix: consumer double-close on error
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Yannick Brosseau [Thu, 27 Jun 2013 21:03:29 +0000 (17:03 -0400)]
Update URCU detection to correctly check for a 0.7 version
Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
David Goulet [Fri, 28 Jun 2013 14:54:44 +0000 (10:54 -0400)]
Fix: snapshot path
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 14:39:30 +0000 (10:39 -0400)]
Add utils function to format current time as a string
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 28 Jun 2013 14:30:18 +0000 (10:30 -0400)]
Fix: set hidden attribute to utils_* calls
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Fri, 14 Jun 2013 18:55:23 +0000 (14:55 -0400)]
Fix: consumer handling of metadata for relayd
This patch sends the metadata stream to relayd and close it once done.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Julien Desfossez [Mon, 6 May 2013 19:57:24 +0000 (15:57 -0400)]
Add kernel snapshot support
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 1 May 2013 19:18:50 +0000 (15:18 -0400)]
Support flight recorder mode for a session
This adds the --no-output option to the lttng UI which will flag a
session to not set an output destination meaning that tracing will be in
overwrite mode in the buffers.
This is also the only way for now to snapshot a session, it's to put it
in no output mode.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 16 Apr 2013 17:44:09 +0000 (13:44 -0400)]
Implement snapshot commands in lttng-sessiond
Basic functionalities are implemented in the session daemon so handle
snapshots and send the command to the consumer but note that at this
commit the consumer does not handle snapshot.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 18 Apr 2013 19:41:16 +0000 (15:41 -0400)]
Add snapshot command to lttng UI
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 12 Apr 2013 19:47:13 +0000 (15:47 -0400)]
Initial import of the snapshot ABI/API in lttng-ctl
Nothing on the session daemon side as been added except the command
values added to the process client command subsystem.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 27 May 2013 20:07:34 +0000 (16:07 -0400)]
Use the consumer stream API in consumer_del_stream()
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 27 May 2013 19:17:19 +0000 (15:17 -0400)]
Add consumer-stream.c/.h in libconsumer
These new files contain relevant calls to a lttng_consumer_stream object
and for now breaks down consumer_del_stream() from consumer.c that got
out of hand in terms of size and can not be used if the stream was not
previously successfully sent to a thread making difficult the deletion
of a stream in some error path or in no monitor mode (future mode for
streams with snapshots) outside of this use case.
It helps also modularize the consumer object and makes the code easier
to maintain and to better evolve.
At this commit, no components use this yet. Future work will
incrementaly move every consumer stream specific actions to that
seperate API.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 24 Apr 2013 17:29:19 +0000 (13:29 -0400)]
Move multiple URLs parsing fct from lttng-ctl to uri.c
Just move some functions around so we can use the multiple URLs parsing
to URIs function outside of liblttng-ctl.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 15 Apr 2013 16:37:06 +0000 (12:37 -0400)]
Add a lttng-ctl header to facilitate code separation
In order for lttng-ctl.c not to grow into an uncontrollable monster of
code, add this helper header and remove static declaration of some
functions to be exported out of the C file and set them hidden.
Future work on snapshot and trigger will use it in order to better split
the code into different files.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 20:40:13 +0000 (16:40 -0400)]
Update version to v2.2.0
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 21:25:04 +0000 (17:25 -0400)]
Fix: build path for unit test to build out of tree
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 20:25:06 +0000 (16:25 -0400)]
Fix: if relayd is unreachable, disable consumer for the session
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 19:24:35 +0000 (15:24 -0400)]
Fix: possible infinite loop in disable ust event
Fixes #575
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 18:15:41 +0000 (14:15 -0400)]
Fix: don't enable a channel if a session was already started
This removes also the check done to start the session if it was started
before.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 17:39:46 +0000 (13:39 -0400)]
Fix: bad type for the relayd id
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 17:37:59 +0000 (13:37 -0400)]
Fix: add debug statement in kernel flush metadata
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 16:30:59 +0000 (12:30 -0400)]
Fix: destroy default created channel if add-context fails
Fixes #554
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 16:05:11 +0000 (12:05 -0400)]
Fix: clarify tracefile size/count in lttng.1 man
Fixes #572
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 16:03:20 +0000 (12:03 -0400)]
Fix: don't stop a session that was not previously started
Fixes #567
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 15:34:36 +0000 (11:34 -0400)]
Fix: update lttng.1 man page
Fixes #571
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 4 Jun 2013 21:46:33 +0000 (17:46 -0400)]
Fix: bad protocol flow between sessiond and consumerd
Also, the error handling was wrong for some error path.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 25 Jun 2013 14:55:21 +0000 (10:55 -0400)]
Fix: kernel memory leak in error path
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 20 Jun 2013 18:35:31 +0000 (14:35 -0400)]
Update version to v2.2.0-rc3
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 20 Jun 2013 17:39:41 +0000 (13:39 -0400)]
Fix: --disable-static option
Fixes #562
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 20 Jun 2013 17:30:39 +0000 (13:30 -0400)]
Fix: add missing file for make dist
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 18 Jun 2013 20:07:02 +0000 (16:07 -0400)]
Fix: channel and stream leak in consumerd
Multiple error paths were possibly leaking channel and stream structure
in the lttng-consumerd.
This has been detected by the stress test killing the relayd randomly
during a long period of time.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 19 Jun 2013 20:21:41 +0000 (16:21 -0400)]
Fix: consumer add channel return value was positive on error
Reported-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 19 Jun 2013 20:17:10 +0000 (16:17 -0400)]
Fix: wrong check after malloc in buffer registry
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 19 Jun 2013 19:44:51 +0000 (15:44 -0400)]
Fix: change an ERR message to a DBG
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Wed, 19 Jun 2013 19:22:05 +0000 (15:22 -0400)]
Tests: Fix wrong number of tests in thread stall as root test
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 19 Jun 2013 19:18:53 +0000 (15:18 -0400)]
Fix: set +x to test helper script
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 19 Jun 2013 18:45:24 +0000 (14:45 -0400)]
Test: add new stress test that kills the relayd randomly
Signed-off-by: David Goulet <dgoulet@efficios.com>
Amit Margalit [Thu, 13 Jun 2013 09:35:13 +0000 (12:35 +0300)]
Using LTTNG_HOME environment variable if exists, with fallback to HOME
Mathieu Desnoyers [Tue, 18 Jun 2013 20:00:37 +0000 (16:00 -0400)]
Fix: remove use of stat()
1019896 Time of check time of use
In utils_mkdir_recursive: A check occurs on a file's attributes before
the file is used in a privileged operation, but things may have changed
(CWE-367)
mkdir() is already doing the EEXIST check.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 19:51:37 +0000 (15:51 -0400)]
Fix: out of bound strcpy
1019904 Copy into fixed size buffer
In add_context: A source buffer of statically unknown size is copied
into a fixed-size destination buffer (CWE-120)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 19:38:57 +0000 (15:38 -0400)]
Remove logically dead code
1019963 Logically dead code
In list_sessions: Code can never be reached because of a logical
contradiction (CWE-561)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 19:34:31 +0000 (15:34 -0400)]
Fix: handle close return value
1019968 Unchecked return value
In lttng_health_check: Value returned from a function is not checked for
errors before being used (CWE-252)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 19:33:05 +0000 (15:33 -0400)]
Remove useless if() check
1022350 Dereference before null check
In ust_registry_session_destroy: All paths that lead to this null
pointer comparison already dereference the pointer earlier (CWE-476)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 19:30:41 +0000 (15:30 -0400)]
Fix: goto error_fatal on lttng_kconsumer_recv_cmd errors
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 19:30:06 +0000 (15:30 -0400)]
Fix: goto error_fatal on lttng_ustconsumer_recv_cmd errors
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 18:58:46 +0000 (14:58 -0400)]
Fix: unnecessarily large memory allocation
1019911 Wrong sizeof argument
In consumer_thread_data_poll: The sizeof operator is invoked on the
wrong argument (CWE-569)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 18 Jun 2013 18:51:15 +0000 (14:51 -0400)]
Fix: comparing array against NULL
1019939 Array compared against 0
In process_client_msg: Array compared against NULL pointer (CWE-398)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Jérémie Galarneau [Wed, 5 Jun 2013 19:39:15 +0000 (15:39 -0400)]
Fix: Remove reference to lttng-probe-lttng kernel module
The lttng-probe-lttng module was removed as part of lttng-modules
commit
662ed1665428b38ee00d4be5751581108bf35390
Fixes #553
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Fri, 14 Jun 2013 20:34:56 +0000 (16:34 -0400)]
Fix: memleak in liblttng-ctl visit_node_load()
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 14 Jun 2013 18:37:50 +0000 (14:37 -0400)]
Fix: memleak in the UST registry
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 14 Jun 2013 17:35:27 +0000 (13:35 -0400)]
Fix: add missing free causing a memleak
Also remove a unused variable in the ust registry event structure.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 14 Jun 2013 16:14:53 +0000 (12:14 -0400)]
Fix: memleaks in channel/event notify
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 6 Jun 2013 16:37:01 +0000 (12:37 -0400)]
Fix: sanitize wait queue in the dispatch thread
This is to avoid memory leaks when the notify socket is never received
thus cleaning the wait node for command socket that are invalid.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Fri, 14 Jun 2013 12:02:27 +0000 (08:02 -0400)]
Implement health check for app registration dispatch
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Fri, 14 Jun 2013 11:51:50 +0000 (07:51 -0400)]
Implement health check for app notification thread
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Fri, 14 Jun 2013 11:44:52 +0000 (07:44 -0400)]
Fix: hash table cleanup call_rcu deadlock
Implement hash table cleanup thread so HT cleanup never deadlocks on
resize in progress.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Thu, 13 Jun 2013 21:07:21 +0000 (17:07 -0400)]
Fix ua_chan assert
delete_ust_app() can remove a channel objd from the hash table
concurrently with notify
Fix #560
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 6 Jun 2013 19:30:14 +0000 (15:30 -0400)]
Fix: poll compat layer reallocation new size
The size was doubled but in fact it should have been checked for the
maximum between the number of fd doubled and the alloc size doubled
(divised by two when shrinking the buffer).
Same goes for the shrink process. For that, get_count_order_u32() is
added to utils.c/.h.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 4 Jun 2013 19:56:43 +0000 (15:56 -0400)]
Fix: remove nonblock flag of sessiond socket in consumer
There is no need for non blocking socket. Furthermore, we have observed
unstable behaviors with a non blocking side (consumer) and a blocking
side (sessiond).
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 4 Jun 2013 16:09:49 +0000 (12:09 -0400)]
Fix: add missing ht iter node assignment in channel thread
Fixes #547
Signed-off-by: David Goulet <dgoulet@efficios.com>
Jérémie Galarneau [Tue, 4 Jun 2013 03:19:59 +0000 (23:19 -0400)]
Fix: Missing RCU locks on access to consumerd's channel ht
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 4 Jun 2013 14:36:57 +0000 (10:36 -0400)]
Revert "Improve channel listing output format"
This changed the text output *after* rc1. We'll keep this in the back
burner for 2.3.
This reverts commit
e78de861055e6288d11348866681d1373ed81aec.
David Goulet [Mon, 3 Jun 2013 17:24:10 +0000 (13:24 -0400)]
Fix: add more conditions and a lock to metadata cache flushed
Some more conditions applies to return if the metadata cache is indeed
flushed. If no metadata stream is found or the endpoint status is set to
something other than ACTIVE, this means the channel is being (or will
be) destroyed thus the metadata cache can't be updated so is indeed
"flushed".
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 3 Jun 2013 17:13:55 +0000 (13:13 -0400)]
Fix: set metadata closed on a push/close metadata error
Check the metadata closed flag before pushing and closing the metadata
on the consumer side. On any error from those two actions, the closed
flag is set to indicate to stop using the metadata registry until a
destroy is done.
Also, before creating a metadata, a check is done to see if the registry
metadata was closed previously or else a new metadata key is created and
the old values from the previous channel in the registry are used
causing a bad state on the consumer.
With per UID buffers, the metadata cache is shared accross multiple
applications so if the metadata buffers were deleted on the consumer for
whatever reasons, we must STOP using it or else undesired behaviors have
been observed such as causing synchronization issues between the state
of the consumer and sessiond.
A destroy session command will wipe the faulty metadata.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 3 Jun 2013 17:05:22 +0000 (13:05 -0400)]
Fix: skip metadata flushed check if write failed
On a metadata cache write failure, we now skip the metadata flushed
check or else an infinite loop could have been possible.
Acked-by: Julien Desfossez <julien.desfossez@efficios.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 29 May 2013 16:19:57 +0000 (12:19 -0400)]
Fix: remove one too many metadata refcount increment
The refcount increment is removed from the add metadata stream function
so for both kernel and UST, the increment is done once the stream is
allocated and the channel reference is set.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 28 May 2013 21:58:44 +0000 (17:58 -0400)]
Fix: add missing buffer registry cleanup on error
Fixes #542
Signed-off-by: David Goulet <dgoulet@efficios.com>
This page took 0.041226 seconds and 4 git commands to generate.