if (libxl_defbool_val(a->disk->colo_enable))
goto bad_colo;
+ if (a->disk->format == LIBXL_DISK_FORMAT_EMPTY) {
+ LOG(DEBUG, "Disk vdev=%s is empty, skipping physical device check",
+ a->disk->vdev);
+ return backend;
+ }
+
if (a->disk->backend_domid != LIBXL_TOOLSTACK_DOMID) {
LOG(DEBUG, "Disk vdev=%s, is using a storage driver domain, "
"skipping physical device check", a->disk->vdev);
LOG(ERROR, "Disk vdev=%s is empty but not cdrom", disk->vdev);
return ERROR_INVAL;
}
+ if (disk->pdev_path != NULL && strcmp(disk->pdev_path, "")) {
+ LOG(ERROR,
+ "Disk vdev=%s is empty but an image has been provided: %s",
+ disk->vdev, disk->pdev_path);
+ return ERROR_INVAL;
+ }
memset(&a.stab, 0, sizeof(a.stab));
} else if ((disk->backend == LIBXL_DISK_BACKEND_UNKNOWN ||
disk->backend == LIBXL_DISK_BACKEND_PHY) &&