[libvirt] [PATCH] util: Fix configure.ac check for DEVLINK_CMD_ESWITCH_GET

Erik Skultety eskultet at redhat.com
Tue Sep 19 07:42:19 UTC 2017


On Mon, Sep 18, 2017 at 01:21:47PM -0400, John Ferlan wrote:
> Rather than checking for whether the devlink.h on the system has
> multiple symbols, let's only check for whether the command we want
> is defined.
>
> Turns out the mechanism of providing multiple definitions to check via
> AC_CHECK_DECLS in order to determine whether HAVE_DECL_DEVLINK should
> be set resulted in a false positive since as long as one of the defs
> was true, then the HAVE_DECL_DEVLINK got defined.
>
> This is further complicated by a change between kernel 4.8 and 4.11
> where the originally defined name DEVLINK_CMD_ESWITCH_MODE_GET was
> changed to DEVLINK_CMD_ESWITCH_GET with the comment/caveat that
> the old format is obsolete should never be used. Therefore, even
> though some kernels will have a couple of the same symbols that
> were added at the same time (DEVLINK_ATTR_ESWITCH_MODE and
> DEVLINK_ESWITCH_MODE_SWITCHDEV), they won't have the newer name
> and thus cause a build failure.
>
> So even though multiple DEVLINK_CMD_SWITCH* symbols are used to
> determine whether the set HAVE_DECL_DEVLINK, this should cover
> those kernels before 4.11 with the old definition.
>
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>
>  I'd push this as a build breaker, but I don't want to need to go through
>  the trouble again if i got this wrong, so hopefully someone who's seeing
>  this can try out the patch...  It's also present on a couple of the CI
>  infrastructure environments (f23, centos-7):

Even with the patch the build still fails on my centos-7 instance.

Erik




More information about the libvir-list mailing list