On Wed, 28 Jun 2017 16:21:40 +0200 Laszlo Ersek <ler...@redhat.com> wrote:
> On 06/28/17 16:12, Igor Mammedov wrote: > > On Wed, 28 Jun 2017 08:09:35 +0100 > > Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> wrote: > > >> 1) Alter fw_cfg_find() to use object_resolve_path_type("", TYPE_FW_CFG, > >> NULL) > > I'd make use of the 3rd argument &ambiguous and assert on it > > I vaguely recall playing with "ambiguous" in find_vmgenid_dev(), but it > didn't work as I expected (or, it wasn't necessary to use). Not sure > about the details, I only remember that, when calling > object_resolve_path_type() like above, from within a realize function, > the object under realization is already considered existent, so if we're > realizing the second (or later) instance of the class, > object_resolve_path_type() will return NULL (regardless of "ambiguous"). > If we're realizing the very first instance, then > object_resolve_path_type() will return non-NULL. > > I don't mind "ambiguous" if it can be made work fine, just thought that > I'd add this tidbit. looking at object_resolve_partial_path() if (ambiguous && *ambiguous) { return NULL; } might make object_resolve_partial_path() return non NULL if ambiguous is NULL object_resolve_partial_path(,,, NULL) p0 - p00 - fw0 | | | fw1 | fw2 p00 returns NULL && only fw2 is found without knowing at all about p00 failure > > Thanks, > Laszlo