[libvirt] [PATCH v6 09/13] conf: Allocate/release 'uid' and 'fid' in PCI address

Andrea Bolognani abologna at redhat.com
Wed Oct 17 14:30:56 UTC 2018


On Tue, 2018-10-16 at 11:28 +0800, Yi Min Zhao wrote:
> 在 2018/10/11 下午10:50, Andrea Bolognani 写道:
> > On Fri, 2018-09-28 at 16:46 +0800, Yi Min Zhao wrote:
> > >   # conf/device_conf.h
> > > +virDeviceInfoPCIAddressExtensionIsPresent;
> > > +virDeviceInfoPCIAddressExtensionIsWanted;
> > >   virDeviceInfoPCIAddressIsPresent;
> > >   virDeviceInfoPCIAddressIsWanted;
> > >   virDomainDeviceAddressIsValid;
> > > @@ -119,6 +121,9 @@ virDomainCCWAddressSetFree;
> > >   virDomainPCIAddressBusIsFullyReserved;
> > >   virDomainPCIAddressBusSetModel;
> > >   virDomainPCIAddressEnsureAddr;
> > > +virDomainPCIAddressExtensionReleaseAddr;
> > > +virDomainPCIAddressExtensionReserveAddr;
> > > +virDomainPCIAddressExtensionReserveNextAddr;
> > 
> > I'm not quite quire we need to export these functions.
> > 
> > With the recent changes, we've gotten to the point that we're not
> > even passing a virZPCIDeviceAddress to them, but rather they have
> > the very same signature as the regular virPCIDeviceAddress...
> > 
> > So it should be possible to just make them static and only call
> > them from the virDomainPCIAddressReserveAddr() and friends, right?
> > Which is where I was hoping we could eventually get. Or did I
> > miss something?
> 
> I think this would make things complex. If either PCI address or
> zPCI address exists, we have to do more checks for calling
> virDomainPCIAddressReserveAddr(). And there are amounts of
> code calling ***IsWanted() to call ***ReserveNext***(). I think
> keeping them separately is better.

Again, I might be missing something because I haven't actually tried
implementing any of this, but at least from the theoretical point of
view I don't see how keeping them separate would make things simpler:
if anything, it seems to me like it would make them more complicated
for the calling code because now you have to worry about the PCI
address extensions *in addition* to the PCI address itself.

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list