From 364c9ee0076d66498c1ae2b2c65833cbe433ceba Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Tue, 17 Jun 2014 10:44:40 +0200 Subject: [PATCH] libxl: properly set default of discard_enable Initialze discard_enable properly. This avoids a crash if a libxl_device_disk with an uninitialized discard_enable is passed to device_disk_add. Up to now only xl initialized discard_enable in its config parser. External users of libxl, such as libvirt, do not need to provide a default value. Signed-off-by: Olaf Hering Acked-by: Ian Campbell --- tools/libxl/libxl.c | 2 ++ tools/libxl/libxlu_disk.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 4b66afc7b2..9054c3b353 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -2025,6 +2025,8 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk) { int rc; + libxl_defbool_setdefault(&disk->discard_enable, !!disk->readwrite); + rc = libxl__resolve_domid(gc, disk->backend_domname, &disk->backend_domid); if (rc < 0) return rc; diff --git a/tools/libxl/libxlu_disk.c b/tools/libxl/libxlu_disk.c index 752a2c7cdc..18fe386dbe 100644 --- a/tools/libxl/libxlu_disk.c +++ b/tools/libxl/libxlu_disk.c @@ -79,7 +79,6 @@ int xlu_disk_parse(XLU_Config *cfg, if (!disk->pdev_path || !strcmp(disk->pdev_path, "")) disk->format = LIBXL_DISK_FORMAT_EMPTY; } - libxl_defbool_setdefault(&disk->discard_enable, !!disk->readwrite); if (!disk->vdev) { xlu__disk_err(&dpc,0, "no vdev specified"); -- 2.39.5