qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] accel: print an error message and exit if plugin not loaded


From: Richard Henderson
Subject: Re: [PATCH] accel: print an error message and exit if plugin not loaded
Date: Mon, 5 Sep 2022 13:06:11 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0

On 9/5/22 11:13, Claudio Fontana wrote:
If module_load_one, module_load_file fail for any reason
(permissions, plugin not installed, ...), we need to provide some notification
to the user to understand that this is happening; otherwise the errors
reported on initialization will make no sense to the user.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
---
  accel/accel-softmmu.c | 10 ++++++++--
  1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/accel/accel-softmmu.c b/accel/accel-softmmu.c
index 67276e4f52..807708ee86 100644
--- a/accel/accel-softmmu.c
+++ b/accel/accel-softmmu.c
@@ -66,15 +66,21 @@ void accel_init_ops_interfaces(AccelClass *ac)
  {
      const char *ac_name;
      char *ops_name;
+    ObjectClass *oc;
      AccelOpsClass *ops;
ac_name = object_class_get_name(OBJECT_CLASS(ac));
      g_assert(ac_name != NULL);
ops_name = g_strdup_printf("%s" ACCEL_OPS_SUFFIX, ac_name);
-    ops = ACCEL_OPS_CLASS(module_object_class_by_name(ops_name));
+    oc = module_object_class_by_name(ops_name);
+    if (!oc) {
+        error_report("fatal: could not find module object of type \"%s\", "
+                     "plugin might not be loaded correctly", ops_name);
+        exit(EXIT_FAILURE);
+    }

The change is correct, in that we certainly cannot continue without the 
accelerator loaded.

But I'm very disappointed that the module interface does not use Error, so you have no choice but to use an extremely vague message here. I would much prefer to plumb down an error parameter so that here one could simply pass &error_fatal.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]