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 <gscrivan@redhat.com>
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'"),