On 04/26/2018 09:50 AM, 李卓瑶 wrote:
> Thanks for your reply
> what i want to know is that why there are many devices in $domain.xml, 
> actully , i choose nothing in virt-manager?
> so, Do i need to look at qemuDomainDefineXMLFlags()?

Because we try to have 1:1 relationship between domain XML configuration
and devices as seen by guest. Even when you don't select anything in
virt-manager the domain will definitely have a PCI root controller,
controller for disk bus (be it sata, scsi, ide, ..), then it'll also
have a virtual NIC, some memory/cpu configuration, and so on.

In the code, these devices are added once XML is parsed by
virDomainDefPostParseInternal(). Each driver can pass this xmlopt
structure filled in with callbacks (take a look at
virQEMUDriverCreateXMLConf()). So in the end, devices are added only
after XML is parsed. However, it is not done all in one place. For
instance, controllers are added during device address assignment, other
devices are added in PostParse callbacks, and so on.

> hours ago, i thought it's qemuDomainCreateWithFlags.

No. This creates so called transient domains.

https://wiki.libvirt.org/page/VM_lifecycle#Transient_guest_domains_vs_Persistent_guest_domains

Michal

_______________________________________________
libvirt-users mailing list
libvirt-users@redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-users

Reply via email to