浏览代码

tools: initialize main loop before block layer

Tools were broken because they initialized the block layer while
qemu_aio_context was still NULL.

Reported-by: malc <av1474@comtv.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: malc <av1474@comtv.ru>
Paolo Bonzini 12 年之前
父节点
当前提交
2592c59a66
共有 2 个文件被更改,包括 2 次插入4 次删除
  1. 1 2
      qemu-img.c
  2. 1 2
      qemu-io.c

+ 1 - 2
qemu-img.c

@@ -2001,14 +2001,13 @@ int main(int argc, char **argv)
 
 
     error_set_progname(argv[0]);
     error_set_progname(argv[0]);
 
 
+    qemu_init_main_loop();
     bdrv_init();
     bdrv_init();
     if (argc < 2)
     if (argc < 2)
         help();
         help();
     cmdname = argv[1];
     cmdname = argv[1];
     argc--; argv++;
     argc--; argv++;
 
 
-    qemu_init_main_loop();
-
     /* find the command */
     /* find the command */
     for(cmd = img_cmds; cmd->name != NULL; cmd++) {
     for(cmd = img_cmds; cmd->name != NULL; cmd++) {
         if (!strcmp(cmdname, cmd->name)) {
         if (!strcmp(cmdname, cmd->name)) {

+ 1 - 2
qemu-io.c

@@ -1892,9 +1892,8 @@ int main(int argc, char **argv)
         exit(1);
         exit(1);
     }
     }
 
 
-    bdrv_init();
-
     qemu_init_main_loop();
     qemu_init_main_loop();
+    bdrv_init();
 
 
     /* initialize commands */
     /* initialize commands */
     quit_init();
     quit_init();