On 20.10.2016 14:09, Maxim Nestratov wrote:
Signed-off-by: Maxim Nestratov <[email protected]> --- src/vz/vz_sdk.c | 19 +++++++++++++++++++ src/vz/vz_utils.c | 5 ----- 2 files changed, 19 insertions(+), 5 deletions(-)diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index b5b0197..f27441d 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -590,6 +590,7 @@ prlsdkGetDiskInfo(vzDriverPtr driver, bool isCt) { char *buf = NULL; + char *serial = NULL; PRL_RESULT pret; PRL_UINT32 emulatedType; virDomainDeviceDriveAddressPtr address; @@ -626,6 +627,18 @@ prlsdkGetDiskInfo(vzDriverPtr driver, if (*buf != '\0' && virDomainDiskSetSource(disk, buf) < 0) goto cleanup;+ serial = prlsdkGetStringParamVar(PrlVmDevHd_GetSerialNumber, prldisk);+ if (serial) { + if (virSafeSerialParamValue(serial) < 0) + goto cleanup; + + if (*serial == '\0') + VIR_FREE(serial); + else + disk->serial = serial; + serial = NULL; + } + if (prlsdkGetDiskId(prldisk, &disk->bus, &disk->dst) < 0) goto cleanup;@@ -643,6 +656,7 @@ prlsdkGetDiskInfo(vzDriverPtr driver, cleanup:VIR_FREE(buf); + VIR_FREE(serial); return ret; }@@ -3489,6 +3503,11 @@ static int prlsdkConfigureDisk(vzDriverPtr driver,pret = PrlVmDev_SetIfaceType(sdkdisk, sdkbus); prlsdkCheckRetGoto(pret, cleanup);+ if (disk->serial) {+ pret = PrlVmDevHd_SetSerialNumber(sdkdisk, disk->serial); + prlsdkCheckRetGoto(pret, cleanup); + } + pret = PrlVmDev_SetStackIndex(sdkdisk, idx); prlsdkCheckRetGoto(pret, cleanup);diff --git a/src/vz/vz_utils.c b/src/vz/vz_utils.cindex eaf09f2..f68b3a1 100644 --- a/src/vz/vz_utils.c +++ b/src/vz/vz_utils.c @@ -323,11 +323,6 @@ vzCheckDiskUnsupportedParams(virDomainDiskDefPtr disk) return -1; }- if (disk->serial) {- VIR_INFO("%s", _("Setting disk serial number is not " - "supported by vz driver.")); - } - if (disk->wwn) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Setting disk wwn id is not "
ACK -- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
