mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
parallels: set format for real disk devices
It seems file format is usually specified event for real block devices. So report that file format is raw in virDomainGetXMLDesc and add checks for proper file format to prlsdkAddDisk. Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
This commit is contained in:
parent
6cfeef1751
commit
87be10858f
@ -476,6 +476,7 @@ prlsdkGetDiskInfo(PRL_HANDLE prldisk,
|
||||
virDomainDiskSetFormat(disk, VIR_STORAGE_FILE_PLOOP);
|
||||
} else {
|
||||
virDomainDiskSetType(disk, VIR_STORAGE_TYPE_BLOCK);
|
||||
virDomainDiskSetFormat(disk, VIR_STORAGE_FILE_RAW);
|
||||
}
|
||||
|
||||
if (isCdrom)
|
||||
@ -2486,13 +2487,24 @@ static int prlsdkAddDisk(PRL_HANDLE sdkdom, virDomainDiskDefPtr disk)
|
||||
if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK &&
|
||||
virDomainDiskGetFormat(disk) != VIR_STORAGE_FILE_PLOOP) {
|
||||
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Invalid disk format: %d"), disk->src->type);
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Invalid format of "
|
||||
"disk %s, Parallels Cloud Server supports only "
|
||||
"images in ploop format."), disk->src->path);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
emutype = PDT_USE_IMAGE_FILE;
|
||||
} else {
|
||||
if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK &&
|
||||
(virDomainDiskGetFormat(disk) != VIR_STORAGE_FILE_RAW &&
|
||||
virDomainDiskGetFormat(disk) != VIR_STORAGE_FILE_NONE &&
|
||||
virDomainDiskGetFormat(disk) != VIR_STORAGE_FILE_AUTO)) {
|
||||
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Invalid format "
|
||||
"of disk %s, it should be either not set, or set "
|
||||
"to raw or auto."), disk->src->path);
|
||||
goto cleanup;
|
||||
}
|
||||
emutype = PDT_USE_REAL_DEVICE;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user