- ret = index_open(vstream->path_name, vstream->channel_name,
- vstream->stream->tracefile_count,
- vstream->current_tracefile_id);
- if (ret >= 0) {
- vstream->index_fd = stream_fd_create(ret);
- if (!vstream->index_fd) {
- if (close(ret)) {
- PERROR("close");
- }
- ret = -1;
+ chunk_status = lttng_index_file_create_from_trace_chunk_read_only(
+ vstream->stream_file.trace_chunk, rstream->path_name,
+ rstream->channel_name, rstream->tracefile_size,
+ vstream->current_tracefile_id,
+ lttng_to_index_major(connection_major, connection_minor),
+ lttng_to_index_minor(connection_major, connection_minor),
+ true, &vstream->index_file);
+ if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
+ if (chunk_status == LTTNG_TRACE_CHUNK_STATUS_NO_FILE) {
+ ret = -ENOENT;