[libvirt] [PATCH 2/2] vz: support setting disk serial number
Mikhail Feoktistov
mfeoktistov at virtuozzo.com
Thu Oct 20 12:24:19 UTC 2016
On 20.10.2016 14:09, Maxim Nestratov wrote:
> Signed-off-by: Maxim Nestratov <mnestratov at virtuozzo.com>
> ---
> 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.c
> index 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
More information about the libvir-list
mailing list