[PATCH for-8.0 v2 1/1] modules: load modules from /var/run/qemu/ directory firstly
From: Siddhi Katage An old running QEMU will try to load modules with new build-id first, this will fail as expected, then QEMU will fallback to load the old modules that matches its build-id from /var/run/qemu/ directory. Make /var/run/qemu/ directory as first search path to load modules. Fixes: bd83c861c0 ("modules: load modules from versioned /var/run dir") Signed-off-by: Siddhi Katage Reviewed-by: Philippe Mathieu-Daudé --- v2: Added reviewed-by tag util/module.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/util/module.c b/util/module.c index 32e2631..b723d65 100644 --- a/util/module.c +++ b/util/module.c @@ -233,17 +233,17 @@ int module_load(const char *prefix, const char *name, Error **errp) g_hash_table_add(loaded_modules, module_name); search_dir = getenv("QEMU_MODULE_DIR"); -if (search_dir != NULL) { -dirs[n_dirs++] = g_strdup_printf("%s", search_dir); -} -dirs[n_dirs++] = get_relocated_path(CONFIG_QEMU_MODDIR); - #ifdef CONFIG_MODULE_UPGRADES version_dir = g_strcanon(g_strdup(QEMU_PKGVERSION), G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "+-.~", '_'); dirs[n_dirs++] = g_strdup_printf("/var/run/qemu/%s", version_dir); #endif +if (search_dir != NULL) { +dirs[n_dirs++] = g_strdup_printf("%s", search_dir); +} +dirs[n_dirs++] = get_relocated_path(CONFIG_QEMU_MODDIR); + assert(n_dirs <= ARRAY_SIZE(dirs)); /* end of resources managed by the out: label */ -- 1.8.3.1
RE: [External] : Re: [PATCH 1/1] modules: load modules from /var/run/qemu/ directory firstly
Hi , Can I know when this patch will be integrated to upstream? Thank you, Siddhi Katage -Original Message- From: Philippe Mathieu-Daudé Sent: Wednesday, January 25, 2023 5:52 AM To: Siddhi Katage ; qemu-devel@nongnu.org Cc: Joe Jin ; Dongli Zhang ; christian.ehrha...@canonical.com; berra...@redhat.com; pbonz...@redhat.com Subject: [External] : Re: [PATCH 1/1] modules: load modules from /var/run/qemu/ directory firstly On 24/1/23 19:39, Siddhi Katage wrote: > From: Siddhi Katage > > An old running QEMU will try to load modules with new build-id first, > this will fail as expected, then QEMU will fallback to load the old > modules that You corrected the comma/space typo :) > matches its build-id from /var/run/qemu/ directory. > Make /var/run/qemu/ directory as first search path to load modules. > > Fixes: bd83c861c0 ("modules: load modules from versioned /var/run > dir") > Signed-off-by: Siddhi Katage > --- > util/module.c | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) Reviewed-by: Philippe Mathieu-Daudé
[PATCH 1/1] modules: load modules from /var/run/qemu/ directory firstly
From: Siddhi Katage An old running QEMU will try to load modules with new build-id first, this will fail as expected, then QEMU will fallback to load the old modules that matches its build-id from /var/run/qemu/ directory. Make /var/run/qemu/ directory as first search path to load modules. Fixes: bd83c861c0 ("modules: load modules from versioned /var/run dir") Signed-off-by: Siddhi Katage --- util/module.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/util/module.c b/util/module.c index 32e2631..b723d65 100644 --- a/util/module.c +++ b/util/module.c @@ -233,17 +233,17 @@ int module_load(const char *prefix, const char *name, Error **errp) g_hash_table_add(loaded_modules, module_name); search_dir = getenv("QEMU_MODULE_DIR"); -if (search_dir != NULL) { -dirs[n_dirs++] = g_strdup_printf("%s", search_dir); -} -dirs[n_dirs++] = get_relocated_path(CONFIG_QEMU_MODDIR); - #ifdef CONFIG_MODULE_UPGRADES version_dir = g_strcanon(g_strdup(QEMU_PKGVERSION), G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "+-.~", '_'); dirs[n_dirs++] = g_strdup_printf("/var/run/qemu/%s", version_dir); #endif +if (search_dir != NULL) { +dirs[n_dirs++] = g_strdup_printf("%s", search_dir); +} +dirs[n_dirs++] = get_relocated_path(CONFIG_QEMU_MODDIR); + assert(n_dirs <= ARRAY_SIZE(dirs)); /* end of resources managed by the out: label */ -- 1.8.3.1
RE: [External] : Re: [PATCH 1/1] modules: load modules from /var/run/qemu/ directory firstly
Hi , Please ignore this patch as it is not based on top of current master branch. I apologize for mistake and the inconvenience caused. I will resend the correct patch . Thank you, Siddhi Katage -Original Message- From: Philippe Mathieu-Daudé Sent: Tuesday, January 24, 2023 1:26 PM To: Siddhi Katage ; qemu-devel@nongnu.org Cc: Joe Jin ; Dongli Zhang ; christian.ehrha...@canonical.com; berra...@redhat.com; pbonz...@redhat.com Subject: [External] : Re: [PATCH 1/1] modules: load modules from /var/run/qemu/ directory firstly On 23/1/23 19:48, Siddhi Katage wrote: > From: Siddhi Katage > > An old running QEMU will try to load modules with new build-id > first,this will fail as expected ,then QEMU will fallback to load the > old modules that matches its build-id from /var/run/qemu/ directory . > Make /var/run/qemu/ directory as first search path to load modules. > > Fixes: bd83c861c0 ("modules: load modules from versioned /var/run > dir") > Signed-off-by: Siddhi Katage > --- > util/module.c | 12 ++-- > 1 file changed, 6 insertions(+), 6 deletions(-) Reviewed-by: Philippe Mathieu-Daudé
[PATCH 1/1] modules: load modules from /var/run/qemu/ directory firstly
From: Siddhi Katage An old running QEMU will try to load modules with new build-id first,this will fail as expected ,then QEMU will fallback to load the old modules that matches its build-id from /var/run/qemu/ directory . Make /var/run/qemu/ directory as first search path to load modules. Fixes: bd83c861c0 ("modules: load modules from versioned /var/run dir") Signed-off-by: Siddhi Katage --- util/module.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/util/module.c b/util/module.c index 620412e..c4f6c57 100644 --- a/util/module.c +++ b/util/module.c @@ -194,6 +194,12 @@ bool module_load_one(const char *prefix, const char *lib_name) exec_dir = qemu_get_exec_dir(); search_dir = getenv("QEMU_MODULE_DIR"); +#ifdef CONFIG_MODULE_UPGRADES +version_dir = g_strcanon(g_strdup(QEMU_PKGVERSION), + G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "+-.~", + '_'); +dirs[n_dirs++] = g_strdup_printf("/var/run/qemu/%s", version_dir); +#endif if (search_dir != NULL) { dirs[n_dirs++] = g_strdup_printf("%s", search_dir); } @@ -201,12 +207,6 @@ bool module_load_one(const char *prefix, const char *lib_name) dirs[n_dirs++] = g_strdup_printf("%s/..", exec_dir ? : ""); dirs[n_dirs++] = g_strdup_printf("%s", exec_dir ? : ""); -#ifdef CONFIG_MODULE_UPGRADES -version_dir = g_strcanon(g_strdup(QEMU_PKGVERSION), - G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "+-.~", - '_'); -dirs[n_dirs++] = g_strdup_printf("/var/run/qemu/%s", version_dir); -#endif assert(n_dirs <= ARRAY_SIZE(dirs)); -- 1.8.3.1