mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
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 <gscrivan@redhat.com>
This commit is contained in:
parent
aad479dc4e
commit
d6e92bfa38
@ -1305,9 +1305,15 @@ virStorageBackendVolOpen(const char *path, struct stat *sb,
|
|||||||
bool noerror = (flags & VIR_STORAGE_VOL_OPEN_NOERROR);
|
bool noerror = (flags & VIR_STORAGE_VOL_OPEN_NOERROR);
|
||||||
|
|
||||||
if (lstat(path, sb) < 0) {
|
if (lstat(path, sb) < 0) {
|
||||||
if (errno == ENOENT && noerror) {
|
if (errno == ENOENT) {
|
||||||
VIR_WARN("ignoring missing file '%s'", path);
|
if (noerror) {
|
||||||
return -2;
|
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,
|
virReportSystemError(errno,
|
||||||
_("cannot stat file '%s'"),
|
_("cannot stat file '%s'"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user