mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
Block layer patches
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJX+3x6AAoJEH8JsnLIjy/WTF4QAKCqL6am3Y4JR3ke04tCmElD x9i5TjQvaqD2iK91Scf7hSvfk2TiFifhQq/bO21YY7JrDktVFOzLVpWcEID4XPK/ 0pAVx1JJXTW3MV9FW2qxxvASznnQlu6s1Truyh++GmVt5kloc1HR7qFzIWs4jyWw olNZ5tEEqputdxtPsQmy93fxFJxKVkDWtqKbWavl3mQEgkGz25GrkQu6dwzmIQLA lGuE/7k3vbCPzMyrdnuoYhkzan7RiwiV3lVqHzyk79xsKTP0sqFscSltoydL9P5p A59MJCR1PqHutMmAicgc6zo3ZIYJuj8mcHXSkGgunnUGpqtwJ8JoeVl2bsM1sJTH 3HK02Z/a/BZIxdGtop0lqNRGNUL9HM3tjV5KyxKX5MMRX3QYrn4poeZXPZOk/oxg URdACBXa5oKvrwZ4ZURU+59+JvgzZ8IzfVYXJxELBW0Gg+hotnxB3+XBZLq7HI3y GEhj7CmmMrfs7wDJHoQvZlsbmwZgLbnYxcpsP9+q8mbCfioetUAMXy7IxCzkPaDk h5aqDMP1+zeMeWtzQGM0ur/nMDFaMegXh3X3tS+9gzxDdFd4D7pif0lOEI7m1lOr Dch4m25EuarigE2GcY00WZgD0zvI0j7b5j8TqG4RoIFkuvjuJBZYwaeM9aRSwtrS 1xZZKe7WPk4kvauOk8pt =td0H -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging Block layer patches # gpg: Signature made Mon 10 Oct 2016 12:33:14 BST # gpg: using RSA key 0x7F09B272C88F2FD6 # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6 * remotes/kevin/tags/for-upstream: dmg: Move libbz2 code to dmg-bz2.so module: Don't load the same module if requested multiple times scripts: Allow block module to not define BlockDriver block: Add qdev ID to DEVICE_TRAY_MOVED block-backend: Remember if attached device is non-qdev block: Add node name to BLOCK_IO_ERROR event block: Add bdrv_runtime_opts to query-command-line-options block: use aio_bh_schedule_oneshot async: add aio_bh_schedule_oneshot block: use bdrv_add_before_write_notifier Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
0f183e679d
33 changed files with 303 additions and 178 deletions
|
@ -163,14 +163,28 @@ void module_load_one(const char *prefix, const char *lib_name)
|
|||
char *fname = NULL;
|
||||
char *exec_dir;
|
||||
char *dirs[3];
|
||||
char *module_name;
|
||||
int i = 0;
|
||||
int ret;
|
||||
static GHashTable *loaded_modules;
|
||||
|
||||
if (!g_module_supported()) {
|
||||
fprintf(stderr, "Module is not supported by system.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!loaded_modules) {
|
||||
loaded_modules = g_hash_table_new(g_str_hash, g_str_equal);
|
||||
}
|
||||
|
||||
module_name = g_strdup_printf("%s%s", prefix, lib_name);
|
||||
|
||||
if (g_hash_table_lookup(loaded_modules, module_name)) {
|
||||
g_free(module_name);
|
||||
return;
|
||||
}
|
||||
g_hash_table_insert(loaded_modules, module_name, module_name);
|
||||
|
||||
exec_dir = qemu_get_exec_dir();
|
||||
dirs[i++] = g_strdup_printf("%s", CONFIG_QEMU_MODDIR);
|
||||
dirs[i++] = g_strdup_printf("%s/..", exec_dir ? : "");
|
||||
|
@ -180,8 +194,8 @@ void module_load_one(const char *prefix, const char *lib_name)
|
|||
exec_dir = NULL;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(dirs); i++) {
|
||||
fname = g_strdup_printf("%s/%s%s%s",
|
||||
dirs[i], prefix, lib_name, HOST_DSOSUF);
|
||||
fname = g_strdup_printf("%s/%s%s",
|
||||
dirs[i], module_name, HOST_DSOSUF);
|
||||
ret = module_load_file(fname);
|
||||
g_free(fname);
|
||||
fname = NULL;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#include "qmp-commands.h"
|
||||
|
||||
static QemuOptsList *vm_config_groups[48];
|
||||
static QemuOptsList *drive_config_groups[4];
|
||||
static QemuOptsList *drive_config_groups[5];
|
||||
|
||||
static QemuOptsList *find_list(QemuOptsList **lists, const char *group,
|
||||
Error **errp)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue