return lttng_session_list_tracker_pids(session);
case LTTNG_KERNEL_SESSION_METADATA_REGEN:
return lttng_session_metadata_regenerate(session);
+ case LTTNG_KERNEL_SESSION_STATEDUMP:
+ return lttng_session_statedump(session);
default:
return -ENOIOCTLCMD;
}
*/
#define LTTNG_KERNEL_SESSION_LIST_TRACKER_PIDS _IO(0xF6, 0x58)
#define LTTNG_KERNEL_SESSION_METADATA_REGEN _IO(0xF6, 0x59)
+/* 0x5A and 0x5B are reserved for a future ABI-breaking cleanup. */
+#define LTTNG_KERNEL_SESSION_STATEDUMP _IO(0xF6, 0x5C)
/* Channel FD ioctl */
#define LTTNG_KERNEL_STREAM _IO(0xF6, 0x62)
kfree(session);
}
+int lttng_session_statedump(struct lttng_session *session)
+{
+ int ret;
+
+ mutex_lock(&sessions_mutex);
+ ret = lttng_statedump_start(session);
+ mutex_unlock(&sessions_mutex);
+ return ret;
+}
+
int lttng_session_enable(struct lttng_session *session)
{
int ret = 0;
int lttng_session_disable(struct lttng_session *session);
void lttng_session_destroy(struct lttng_session *session);
int lttng_session_metadata_regenerate(struct lttng_session *session);
+int lttng_session_statedump(struct lttng_session *session);
void metadata_cache_destroy(struct kref *kref);
struct lttng_channel *lttng_channel_create(struct lttng_session *session,