X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fkernel-consumer%2Fkernel-consumer.c;h=9742ea0844d79d5b64a1e9888d7b8bb54217c332;hp=29ccd0f091d7c7c55ed95b0465d489d54ea2e0fc;hb=d05185faf74eddb5d0425822efc877c6c0ce5f0a;hpb=0a184d4ea76d365036939e7b0c295df0610f80d3 diff --git a/src/common/kernel-consumer/kernel-consumer.c b/src/common/kernel-consumer/kernel-consumer.c index 29ccd0f09..9742ea084 100644 --- a/src/common/kernel-consumer/kernel-consumer.c +++ b/src/common/kernel-consumer/kernel-consumer.c @@ -231,15 +231,6 @@ static int lttng_kconsumer_snapshot_channel( goto end_unlock; } - if (stream->max_sb_size == 0) { - ret = kernctl_get_max_subbuf_size(stream->wait_fd, - &stream->max_sb_size); - if (ret < 0) { - ERR("Getting kernel max_sb_size"); - goto end_unlock; - } - } - consumed_pos = consumer_get_consume_start_pos(consumed_pos, produced_pos, nb_packets_per_stream, stream->max_sb_size); @@ -668,6 +659,14 @@ int lttng_kconsumer_recv_cmd(struct lttng_consumer_local_data *ctx, new_stream->chan = channel; new_stream->wait_fd = fd; + ret = kernctl_get_max_subbuf_size(new_stream->wait_fd, + &new_stream->max_sb_size); + if (ret < 0) { + pthread_mutex_unlock(&channel->lock); + ERR("Failed to get kernel maximal subbuffer size"); + goto end_nosignal; + } + consumer_stream_update_channel_attributes(new_stream, channel); switch (channel->output) {