Daniel P. Berrange wrote:
> On Thu, Mar 17, 2011 at 09:17:58PM -0600, Jim Fehlig wrote:
>
>> diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
>> index 7d08df3..bec9577 100644
>> --- a/src/xen/xen_driver.c
>> +++ b/src/xen/xen_driver.c
>> @@ -50,6 +50,7 @@
>> #include "uuid.h"
>> #include "fdstream.h"
>> #include "files.h"
>> +#include "command.h"
>>
>> #define VIR_FROM_THIS VIR_FROM_XEN
>>
>> @@ -229,6 +230,26 @@ xenUnifiedProbe (void)
>> return 0;
>> }
>>
>> +#ifdef WITH_LIBXL
>> +static int
>> +xenUnifiedXendProbe (void)
>> +{
>> + virCommandPtr cmd;
>> + int status;
>> + int ret = 0;
>> +
>> + if ((cmd = virCommandNew("/usr/sbin/xend")) != NULL) {
>> + virCommandAddArg(cmd, "status");
>> + if (virCommandRun(cmd, &status) == 0) {
>> + if (status == 0)
>> + ret = 1;
>> + }
>> + virCommandFree(cmd);
>> + }
>> + return ret;
>> +}
>>
>
> It isn't neccessary to check the return status of CommandNew(),
> since if it got OOM, the subsequent API calls with diagnose
> that correctly. You can also add args at the same time.
>
> virCommandPtr cmd = virCommandNewArgList("/usr/sbin/xend", "status", NULL);
> if (virCommandRun(cmd, &status) == 0 && status == 0)
> ret = 1;
> virCommandFree(cmd);
>
Ah, thanks for the tip.
> There was another case of this code pattern earlier which can
> be simplified too
>
>
>> @@ -292,6 +313,13 @@ xenUnifiedOpen (virConnectPtr conn, virConnectAuthPtr
>> auth, int flags)
>> }
>> }
>>
>> +#ifdef WITH_LIBXL
>> + /* Decline xen:// URI if xend is not running and libxenlight
>> + * driver is potentially available. */
>> + if (!xenUnifiedXendProbe())
>> + return VIR_DRV_OPEN_DECLINED;
>> +#endif
>> +
>> /* We now know the URI is definitely for this driver, so beyond
>> * here, don't return DECLINED, always use ERROR */
>>
>>
>
> With this change to virCommandPtr usage, I will happily ACK this
> new driver.
Great, thanks! I've made the changes you suggested and pushed the new
driver :-).
> I think it is at the stage now where its better to
> have the code in tree, and let people send small incrementall
> followup patches to deal with any further bugs that appear
>
Yes, I agree, Markus already has patches lined up to add functionality,
so I'll no longer be holding up his work.
Thanks to everyone for helping review and test the driver!
Regards,
Jim
--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list