[PATCH for-8.0 v2 1/1] modules: load modules from /var/run/qemu/ directory firstly

2023-03-23 Thread Siddhi Katage
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

2023-02-27 Thread Siddhi Katage
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

2023-01-24 Thread Siddhi Katage
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

2023-01-24 Thread Siddhi Katage
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

2023-01-23 Thread Siddhi Katage
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