From d6e92bfa38d2d2dffa2ec38373e2922268d32b51 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Fri, 13 Jun 2014 16:48:15 +0200 Subject: [PATCH] storage: report VIR_ERR_NO_STORAGE_VOL when the file doesn't exist Report VIR_ERR_NO_STORAGE_VOL instead of a system error when lstat fails because the file doesn't exist. Fixes this problem in virt-install: https://bugzilla.redhat.com/show_bug.cgi?id=1108922 Signed-off-by: Giuseppe Scrivano --- src/storage/storage_backend.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c index 380ca58af5..b38af52372 100644 --- a/src/storage/storage_backend.c +++ b/src/storage/storage_backend.c @@ -1305,9 +1305,15 @@ virStorageBackendVolOpen(const char *path, struct stat *sb, bool noerror = (flags & VIR_STORAGE_VOL_OPEN_NOERROR); if (lstat(path, sb) < 0) { - if (errno == ENOENT && noerror) { - VIR_WARN("ignoring missing file '%s'", path); - return -2; + if (errno == ENOENT) { + if (noerror) { + VIR_WARN("ignoring missing file '%s'", path); + return -2; + } + virReportError(VIR_ERR_NO_STORAGE_VOL, + _("no storage vol with matching path '%s'"), + path); + return -1; } virReportSystemError(errno, _("cannot stat file '%s'"),