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@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users