On Thu, 2017-06-29 at 20:03 +0200, Andrea Bolognani wrote: > This series is required to solve a known limitation in the > current incarnation of device isolation support[1], namely > the inability to isolate host devices coming from IOMMU > group 0. > > The issue lies in the fact that virDomainDeviceInfo, and > all virDomain*Def that embed it, are usually allocated > through VIR_ALLOC(), which result in all their fields being > initialized to zero. > > That's worked out just fine so far, because zero was a > sensible default value for all existing fields; however, > when implementing isolation groups, we add a new > virDomainDeviceInfo::isolationGroup field which we need > to be initialized to -1 instead so that it doesn't overlap > with IOMMU group 0 mentioned above. Or we could just, you know, do the sensible thing and store (IOMMU group + 1) instead of (IOMMU group) in virDomainDeviceInfo::isolationGroup and avoid the issue altogether? I'm actually quite embarassed I didn't think of that earlier :/ > Solving the issue involves creating twenty or so > virDomain*DefNew() functions and using them instead of > VIR_ALLOC() every time a virDomain*Def needs to be created, > which is arguably a pretty good idea regardless. We could still merge this series, though, or at least parts of it. It improves upon some questionable code. -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list