diff mbox series

[1/1] modules: load modules from /var/run/qemu/<version> directory firstly

Message ID 1674499693-9863-1-git-send-email-siddhi.katage@oracle.com
State New
Headers show
Series [1/1] modules: load modules from /var/run/qemu/<version> directory firstly | expand

Commit Message

Siddhi Katage Jan. 23, 2023, 6:48 p.m. UTC
From: Siddhi Katage <siddhi.katage@oracle.com>

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/<version> directory .
Make /var/run/qemu/<version> directory as first search path to load modules.

Fixes: bd83c861c0 ("modules: load modules from versioned /var/run dir")
Signed-off-by: Siddhi Katage <siddhi.katage@oracle.com>
---
 util/module.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Philippe Mathieu-Daudé Jan. 24, 2023, 7:55 a.m. UTC | #1
On 23/1/23 19:48, Siddhi Katage wrote:
> From: Siddhi Katage <siddhi.katage@oracle.com>
> 
> 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/<version> directory .
> Make /var/run/qemu/<version> directory as first search path to load modules.
> 
> Fixes: bd83c861c0 ("modules: load modules from versioned /var/run dir")
> Signed-off-by: Siddhi Katage <siddhi.katage@oracle.com>
> ---
>   util/module.c | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Siddhi Katage Jan. 24, 2023, 5:44 p.m. UTC | #2
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é <philmd@linaro.org> 
Sent: Tuesday, January 24, 2023 1:26 PM
To: Siddhi Katage <siddhi.katage@oracle.com>; qemu-devel@nongnu.org
Cc: Joe Jin <joe.jin@oracle.com>; Dongli Zhang <dongli.zhang@oracle.com>; christian.ehrhardt@canonical.com; berrange@redhat.com; pbonzini@redhat.com
Subject: [External] : Re: [PATCH 1/1] modules: load modules from /var/run/qemu/<version> directory firstly

On 23/1/23 19:48, Siddhi Katage wrote:
> From: Siddhi Katage <siddhi.katage@oracle.com>
> 
> 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/<version> directory .
> Make /var/run/qemu/<version> directory as first search path to load modules.
> 
> Fixes: bd83c861c0 ("modules: load modules from versioned /var/run 
> dir")
> Signed-off-by: Siddhi Katage <siddhi.katage@oracle.com>
> ---
>   util/module.c | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff mbox series

Patch

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));