+ /* Mi check */
+ if (lttng_opt_mi) {
+ writer = mi_lttng_writer_create(fileno(stdout), lttng_opt_mi);
+ if (!writer) {
+ ret = -LTTNG_ERR_NOMEM;
+ goto end;
+ }
+
+ /* Open command element */
+ ret = mi_lttng_writer_command_open(writer,
+ mi_lttng_element_command_load);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+
+ /* Open output element */
+ ret = mi_lttng_writer_open_element(writer,
+ mi_lttng_element_command_output);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+ }
+
+ command_ret = config_load_session(opt_input_path, session_name, opt_force, 0);
+ if (command_ret) {
+ ERR("%s", lttng_strerror(command_ret));
+ success = 0;
+ } else {
+ if (opt_load_all) {
+ MSG("All sessions have been loaded successfully");
+ } else if (session_name) {
+ ret = config_init((char *)session_name);
+ if (ret < 0) {
+ ret = CMD_WARNING;
+ }
+ MSG("Session %s has been loaded successfully", session_name);
+ } else {
+ MSG("Session has been loaded successfully");
+ }
+ success = 1;
+ }
+
+ /* Mi Printing and closing */
+ if (lttng_opt_mi) {
+ /* Mi print */
+ ret = mi_load_print(session_name);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+
+ /* Close output element */
+ ret = mi_lttng_writer_close_element(writer);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+
+ /* Success ? */
+ ret = mi_lttng_writer_write_element_bool(writer,
+ mi_lttng_element_command_success, success);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+
+ /* Command element close */
+ ret = mi_lttng_writer_command_close(writer);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }