The _setdefault() function for virtio devices is getting called after
libxl__prepare_dtb(), which is late as libxl__prepare_dtb() expects the
defaults to be already set by this time.
Call libxl__virtio_devtype.set_default() from
libxl__domain_config_setdefault(), in a similar way as other devices
like disk, etc.
Suggested-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
uint32_t domid /* for logging, only */)
{
libxl_ctx *ctx = libxl__gc_owner(gc);
- int ret;
+ int ret, i;
bool pod_enabled = false;
libxl_domain_create_info *c_info = &d_config->c_info;
goto error_out;
}
+ for (i = 0; i < d_config->num_virtios; i++) {
+ ret = libxl__virtio_devtype.set_default(gc, domid,
+ &d_config->virtios[i], false);
+ if (ret) {
+ LOGD(ERROR, domid, "Unable to set virtio defaults for device %d", i);
+ goto error_out;
+ }
+ }
+
ret = 0;
error_out:
return ret;