[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v10 16/19] libxl: call hotplug scripts for nic devices from libxl
Ian Campbell wrote: >> + switch (nictype) { >> + case LIBXL_NIC_TYPE_VIF_IOEMU: >> + env[nr++] = "INTERFACE"; >> + env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc, >> + dev->domid, >> dev->devid, >> + >> LIBXL_NIC_TYPE_VIF_IOEMU)); > > Is this fall-through of the case deliberate? If so then a comment would > be good. > > However I'm not sure about this. It seems like the hotplug scripts are > only called once in the VIF_IOEMU case? I would expect one call for the > PV VIF device and one for the TAP device? Perhaps I'm just missing the > location of the other one? Is this "num_exec" variable involved in some > way? But you don't propagate that to get_hotplug_env() and therefore > include *both* sets of env vars? Yes, we perform two calls, one for the vif device and one for the tap device. I agree that this approach is not really clear, what might be more suitable is to return arrays of hotplug execution items from get_hotplug_script_info: args = { {"/etc/xen/script/foo", "bar"}, {"/etc/xen/script/foo2", "bar2"}, NULL }; And the same with env, so we keep executing items until we reach args[i] == NULL. > In any case something related seems to be broken for guests which use a > stub domain and use vifname=foo. What I see in that case is the script > called three times... > 1. For the PV interface of the stub domain (LIBXL_NIC_TYPE_VIF), > renames vifX+1.0 -> foo-emu (*) > 2. For the PV interface of the real domain > (LIBXL_NIC_TYPE_VIF_IOEMU part 1), renames vifX.0 -> foo > 3. For the emu interface of the real domain > (LIBXL_NIC_TYPE_VIF_IOEMU part 2) renames vifX.0 -> foo-emu > > The rename in #3 fails, because foo-emu already exists. But in fact this > call to the script should never happen for a domain with a stub domain > since the emulated device in this case is within the stub domain, not > the driver domain. As talked, the correct fix for this seems to detect if the guest has a stubdom and return 0 on the second call to get_hotplug_script_info, to prevent the execution of #3. > (*) This is with the patch I posted earlier to rename the stub domain's > vif with a -emu suffix. Without that then the clash is at #2 instead. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |