Re: [PATCH v4]: set and restore MAC address of a NIC when using PASSTHROUGH mode

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

 



On 06/21/2011 12:21 PM, Stefan Berger wrote:
> On 06/21/2011 01:16 PM, Eric Blake wrote:
>> On 06/21/2011 06:01 AM, Gerhard Stenzel wrote:
>>> +    rc = ifaceGetMacaddr(linkdev, oldmac);
>>> +
>>> +    if (rc) {
>>> +        virReportSystemError(rc,
>> Sorry for not catching this sooner.  This should probably be
>> virReportSystemError(errno,...), assuming that ifaceGetMacaddr
>> guarantees a sane errno setting (at any rate, you used errno for
>> ifaceSetMacaddr later on).
>>
> It should be ok the way it is since ifaceGetMacAddr() returns either
> EINVAL or the content of errno.

Oh, I see.  But then we have the converse problem:

+    rc = ifaceSetMacaddr(linkdev, macaddress);
+    if (rc) {
+        virReportSystemError(errno,
+                             _("Setting MAC address on  '%s' to "
+                               "'%02x:%02x:%02x:%02x:%02x:%02x' failed."),

But ifaceSetMacaddr returns EINVAL without setting errno on at least one
error path, which means this can print a bogus errno value.

So we should either fix the iface* functions to follow convention of -1
return and valid errno used in other libvirt interfaces (rather than
positive return), as well as fix its clients; or we should fix this
particular ifaceSetMacaddr call to fit in with the different convention.

-- 
Eric Blake   eblake@xxxxxxxxxx    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]