qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH v2 17/18] modules: check arch and block load on mismatch


From: Daniel P . Berrangé
Subject: Re: [PATCH v2 17/18] modules: check arch and block load on mismatch
Date: Thu, 10 Jun 2021 14:06:08 +0100
User-agent: Mutt/2.0.7 (2021-05-04)

On Thu, Jun 10, 2021 at 02:57:21PM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> > >      for (modlist = modinfo->list; modlist != NULL; modlist = 
> > > modlist->next) {
> > > +        if (modlist->value->has_arch) {
> > > +            if (strcmp(modlist->value->name, module_name) == 0) {
> > > +                if (!module_arch ||
> > > +                    strcmp(modlist->value->arch, module_arch) != 0) {
> > > +                    return false;
> > > +                }
> > > +            }
> > > +        }
> > 
> > I have a little hard time following the code paths, but IIUC, with this
> > change, instead of "module.so" we would have multiple copies of something
> > like "module-$arch.so" ?
> 
> Not yet with this series, but easily doable on top of this (see other
> patch series sent today).
> 
> > Then we load them all, read their modinfo section
> > and discard the ones with non-matching arch ?
> 
> No.  There is a utility reading the modinfo section (patch #2), write
> out the info as json (patch #2 has the schema), then qemu will read that
> json file (patch #13) ...

Ah ok, missed that.

Is the JSON file completely static, listing all modules that were built
regardless of whether they are currently installed, or would it need to
be refreshed when installing/uninstalling RPMs with modules ? I would
think we can do the former and simply handle missing modules on disk
fairly easily

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

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