#include <termios.h>
#endif
-#include "qemu-common.h"
+#include "qemu/help-texts.h"
+#include "qemu/cutils.h"
#include "qapi/error.h"
#include "qemu-io.h"
#include "qemu/error-report.h"
static char prompt[FILENAME_MAX + 2 /*"> "*/ + 1 /*"\0"*/ ];
if (!prompt[0]) {
- snprintf(prompt, sizeof(prompt), "%s> ", error_get_progname());
+ snprintf(prompt, sizeof(prompt), "%s> ", g_get_prgname());
}
return prompt;
}
-static void GCC_FMT_ATTR(2, 3) readline_printf_func(void *opaque,
+static void G_GNUC_PRINTF(2, 3) readline_printf_func(void *opaque,
const char *fmt, ...)
{
va_list ap;
*fetchable= 1;
}
+static int do_qemuio_command(const char *cmd)
+{
+ int ret;
+ AioContext *ctx =
+ qemuio_blk ? blk_get_aio_context(qemuio_blk) : qemu_get_aio_context();
+
+ aio_context_acquire(ctx);
+ ret = qemuio_command(qemuio_blk, cmd);
+ aio_context_release(ctx);
+
+ return ret;
+}
+
static int command_loop(void)
{
int i, fetchable = 0, prompted = 0;
char *input;
for (i = 0; !quit_qemu_io && i < ncmdline; i++) {
- ret = qemuio_command(qemuio_blk, cmdline[i]);
+ ret = do_qemuio_command(cmdline[i]);
if (ret < 0) {
last_error = ret;
}
if (input == NULL) {
break;
}
- ret = qemuio_command(qemuio_blk, input);
+ ret = do_qemuio_command(input);
g_free(input);
if (ret < 0) {
int flags = BDRV_O_UNMAP;
int ret;
bool writethrough = true;
- Error *local_error = NULL;
QDict *opts = NULL;
const char *format = NULL;
bool force_share = false;
break;
case 'V':
printf("%s version " QEMU_FULL_VERSION "\n"
- QEMU_COPYRIGHT "\n", error_get_progname());
+ QEMU_COPYRIGHT "\n", g_get_prgname());
exit(0);
case 'h':
- usage(error_get_progname());
+ usage(g_get_prgname());
exit(0);
case 'U':
force_share = true;
imageOpts = true;
break;
default:
- usage(error_get_progname());
+ usage(g_get_prgname());
exit(1);
}
}
if ((argc - optind) > 1) {
- usage(error_get_progname());
+ usage(g_get_prgname());
exit(1);
}
exit(1);
}
- if (qemu_init_main_loop(&local_error)) {
- error_report_err(local_error);
- exit(1);
- }
+ qemu_init_main_loop(&error_fatal);
if (!trace_init_backends()) {
exit(1);
}
trace_init_file();
- qemu_set_log(LOG_TRACE);
+ qemu_set_log(LOG_TRACE, &error_fatal);
/* initialize commands */
qemuio_add_command(&quit_cmd);