On 9/9/24 11:54, Daniel Henrique Barboza wrote: > > > On 9/9/24 12:17 AM, Andrew.Yuan wrote: >> The code 'ops = ACCEL_OPS_CLASS(module_object_class_by_name(ops_name));' is >> unnecessary; >> >> And, the following code : >> 1.has the same functionality; >> 2.includes error checking; >> >> Signed-off-by: Andrew.Yuan <andrew.y...@jaguarmicro.com> >> --- >> accel/accel-system.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/accel/accel-system.c b/accel/accel-system.c >> index f6c947dd82..5d502c8fd8 100644 >> --- a/accel/accel-system.c >> +++ b/accel/accel-system.c >> @@ -73,7 +73,7 @@ void accel_system_init_ops_interfaces(AccelClass *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)); >> + > > The code you're changing was added by 5141e9a23f ("accel: abort if we fail to > load the accelerator plugin") and I think this repetition is intended. If I > have > to guess (first time looking at this code), ACCEL_OPS_CLASS() is creating the > class > type QOM functions that the the second module_object_class_by_name() relies > on to > catch the module load error the commit is trying to address. > > I'm CCing Claudio to get a better idea of the intention here. At the very > least we > should add a code comment explaining the reasoning behind initing 'ops' two > times > in a row and so on. > > > Thanks, > > Daniel
Hi Daniel, just to signal that I've seen this message and will get to it when I am back to work later this week. Ciao, Claudio > >> oc = module_object_class_by_name(ops_name); >> if (!oc) { >> error_report("fatal: could not load module for type '%s'", >> ops_name);