mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-08 05:55:19 +00:00
Ignore missing files on pool refresh
If we cannot stat/open a file on pool refresh, returning -1 aborts
the refresh and the pool is undefined.
Only treat missing files as fatal unless VolOpenCheckMode is called
with the VIR_STORAGE_VOL_OPEN_ERROR flag. If this flag is missing
(when it's called from virStorageBackendProbeTarget in
virStorageBackendFileSystemRefresh), only emit a warning and return
-2 to let the caller skip over the file.
https://bugzilla.redhat.com/show_bug.cgi?id=977706
(cherry picked from commit ee640f444b
)
This commit is contained in:
parent
1710925ad9
commit
ba7cc215fb
@ -1130,6 +1130,10 @@ virStorageBackendVolOpenCheckMode(const char *path, struct stat *sb,
|
||||
char *base = last_component(path);
|
||||
|
||||
if (lstat(path, sb) < 0) {
|
||||
if (errno == ENOENT && !(flags & VIR_STORAGE_VOL_OPEN_ERROR)) {
|
||||
VIR_WARN("ignoring missing file '%s'", path);
|
||||
return -2;
|
||||
}
|
||||
virReportSystemError(errno,
|
||||
_("cannot stat file '%s'"),
|
||||
path);
|
||||
@ -1150,6 +1154,10 @@ virStorageBackendVolOpenCheckMode(const char *path, struct stat *sb,
|
||||
VIR_WARN("ignoring dangling symlink '%s'", path);
|
||||
return -2;
|
||||
}
|
||||
if (errno == ENOENT && !(flags & VIR_STORAGE_VOL_OPEN_ERROR)) {
|
||||
VIR_WARN("ignoring missing file '%s'", path);
|
||||
return -2;
|
||||
}
|
||||
|
||||
virReportSystemError(errno,
|
||||
_("cannot open volume '%s'"),
|
||||
|
Loading…
Reference in New Issue
Block a user