[libvirt] [PATCH v4 01/10] Implement virPCIIsKnownStub function
Laine Stump
laine at laine.org
Fri Nov 20 15:11:41 UTC 2015
On 11/14/2015 03:34 AM, Shivaprasad G Bhat wrote:
> The checks to known stubs can be easily done having this
> implementation.
>
> Signed-off-by: Shivaprasad G Bhat <sbhat at linux.vnet.ibm.com>
> ---
> src/util/virpci.c | 28 ++++++++++++++++++----------
> 1 file changed, 18 insertions(+), 10 deletions(-)
>
> diff --git a/src/util/virpci.c b/src/util/virpci.c
> index 35b1459..bff37d7 100644
> --- a/src/util/virpci.c
> +++ b/src/util/virpci.c
> @@ -1080,6 +1080,23 @@ static const char *virPCIKnownStubs[] = {
> NULL
> };
>
> +static bool
> +virPCIIsKnownStub(char *driver)
> +{
> + const char **stubTest;
> + bool ret = false;
> +
> + for (stubTest = virPCIKnownStubs; *stubTest != NULL; stubTest++) {
> + if (STREQ_NULLABLE(driver, *stubTest)) {
> + ret = true;
> + VIR_DEBUG("Found stub driver %s", *stubTest);
> + break;
> + }
> + }
> +
> + return ret;
> +}
> +
> static int
> virPCIDeviceUnbindFromStub(virPCIDevicePtr dev)
> {
> @@ -1087,8 +1104,6 @@ virPCIDeviceUnbindFromStub(virPCIDevicePtr dev)
> char *drvdir = NULL;
> char *path = NULL;
> char *driver = NULL;
> - const char **stubTest;
> - bool isStub = false;
>
> /* If the device is currently bound to one of the "well known"
> * stub drivers, then unbind it, otherwise ignore it.
> @@ -1105,14 +1120,7 @@ virPCIDeviceUnbindFromStub(virPCIDevicePtr dev)
> goto remove_slot;
>
> /* If the device isn't bound to a known stub, skip the unbind. */
> - for (stubTest = virPCIKnownStubs; *stubTest != NULL; stubTest++) {
> - if (STREQ(driver, *stubTest)) {
> - isStub = true;
> - VIR_DEBUG("Found stub driver %s", *stubTest);
> - break;
> - }
> - }
> - if (!isStub)
> + if (!virPCIIsKnownStub(driver))
> goto remove_slot;
>
> if (virPCIDeviceUnbind(dev, dev->reprobe) < 0)
>
I haven't yet seen where/how this will be used, but it doesn't change
behavior and doesn't add more than a few lines, so ACK.
More information about the libvir-list
mailing list