X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Ftrace-chunk.h;h=fcacb01ff80070d07f09e473a00693863243bc2f;hp=8703d00444df7837069fdc54dc7fb68926456bf5;hb=d4ad24a314cea1020c7cd08b27670f5da495e38d;hpb=913a542b6eabb29468ab09a1503ed454427679f2 diff --git a/src/common/trace-chunk.h b/src/common/trace-chunk.h index 8703d0044..fcacb01ff 100644 --- a/src/common/trace-chunk.h +++ b/src/common/trace-chunk.h @@ -83,6 +83,15 @@ struct lttng_trace_chunk *lttng_trace_chunk_create( uint64_t chunk_id, time_t chunk_creation_time); +/* + * Copy a trace chunk. The copy that is returned is always a _user_ + * mode chunk even if the source chunk was an _owner_ as there can never be + * two _owners_ of the same trace output. + */ +LTTNG_HIDDEN +struct lttng_trace_chunk *lttng_trace_chunk_copy( + struct lttng_trace_chunk *source_chunk); + LTTNG_HIDDEN enum lttng_trace_chunk_status lttng_trace_chunk_get_id( struct lttng_trace_chunk *chunk, uint64_t *id); @@ -122,20 +131,18 @@ LTTNG_HIDDEN enum lttng_trace_chunk_status lttng_trace_chunk_set_credentials_current_user( struct lttng_trace_chunk *chunk); -/* session_output_directory ownership is transferred to the chunk on success. */ LTTNG_HIDDEN enum lttng_trace_chunk_status lttng_trace_chunk_set_as_owner( struct lttng_trace_chunk *chunk, struct lttng_directory_handle *session_output_directory); -/* chunk_output_directory ownership is transferred to the chunk on success. */ LTTNG_HIDDEN enum lttng_trace_chunk_status lttng_trace_chunk_set_as_user( struct lttng_trace_chunk *chunk, struct lttng_directory_handle *chunk_directory); LTTNG_HIDDEN -enum lttng_trace_chunk_status lttng_trace_chunk_get_chunk_directory_handle( +enum lttng_trace_chunk_status lttng_trace_chunk_borrow_chunk_directory_handle( struct lttng_trace_chunk *chunk, const struct lttng_directory_handle **handle);