From 891c6fd74f1d485ab81eff34b8a15a79528373f1 Mon Sep 17 00:00:00 2001 From: Osier Yang Date: Mon, 19 Sep 2011 15:35:15 +0800 Subject: [PATCH] storage: Ensure the device path exists before refreshing disk pool Doing libvirt_parthelper on an not existed device path will get an unfriendly error message. This patch is to prohibit it. --- src/storage/storage_backend_disk.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c index 80f9dd1ff4..82d6e8a5b4 100644 --- a/src/storage/storage_backend_disk.c +++ b/src/storage/storage_backend_disk.c @@ -262,7 +262,6 @@ static int virStorageBackendDiskReadPartitions(virStoragePoolObjPtr pool, virStorageVolDefPtr vol) { - /* * # libvirt_parthelper DEVICE * /dev/sda1 normal data 32256 106928128 106896384 @@ -320,6 +319,13 @@ virStorageBackendDiskRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED, virFileWaitForDevices(); + if (!virFileExists(pool->def->source.devices[0].path)) { + virStorageReportError(VIR_ERR_INVALID_ARG, + _("device path '%s' doesn't exist"), + pool->def->source.devices[0].path); + return -1; + } + if (virStorageBackendDiskReadGeometry(pool) != 0) { return -1; } -- GitLab