+
+ cmd_ret = cmd_rotate_session(session, NULL, false,
+ LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED);
+ switch (cmd_ret) {
+ case LTTNG_OK:
+ DBG("Successfully started rotation of session `%s` on behalf of trigger `%p`",
+ session_name, work_item->trigger);
+ break;
+ case LTTNG_ERR_ROTATION_PENDING:
+ DBG("Attempted to start a rotation of session `%s` on behalf of trigger `%p` but a rotation is already ongoing",
+ session_name, work_item->trigger);
+ break;
+ case LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP:
+ case LTTNG_ERR_ROTATION_AFTER_STOP_CLEAR:
+ DBG("Attempted to start a rotation of session `%s` on behalf of trigger `%p` but a rotation has already been completed since the last stop or clear",
+ session_name, work_item->trigger);
+ break;
+ default:
+ WARN("Failed to start a rotation of session `%s` on behalf of trigger `%p`: %s",
+ session_name, work_item->trigger,
+ lttng_strerror(-cmd_ret));
+ break;
+ }
+
+error_dispose_session:
+ session_unlock(session);
+ session_put(session);
+error_unlock_list: