Fix: sessiond: bounded snapshot record fails when no streams exist
[lttng-tools.git] / src / bin / lttng-sessiond / cmd.c
index e067cb835e1a2739dfa35f83ce32a3d3c59b586a..1c53cadf824e7a5d7ab6f24cd43707a0af303f0d 100644 (file)
@@ -4540,7 +4540,7 @@ int64_t get_session_nb_packets_per_stream(const struct ltt_session *session,
                }
                cur_nb_packets++;
        }
-       if (!cur_nb_packets) {
+       if (!cur_nb_packets && size_left != max_size) {
                /* Not enough room to grab one packet of each stream, error. */
                return -1;
        }
@@ -4907,6 +4907,12 @@ int cmd_rotate_session(struct ltt_session *session,
                goto end;
        }
 
+       /* Unsupported feature in lttng-modules before 2.8 (lack of sequence number). */
+       if (session->kernel_session && !kernel_supports_ring_buffer_packet_sequence_number()) {
+               cmd_ret = LTTNG_ERR_ROTATION_NOT_AVAILABLE_KERNEL;
+               goto end;
+       }
+
        if (session->rotation_state == LTTNG_ROTATION_STATE_ONGOING) {
                DBG("Refusing to launch a rotation; a rotation is already in progress for session %s",
                                session->name);
This page took 0.02419 seconds and 4 git commands to generate.