mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +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
This commit is contained in:
parent
0edfc9ef63
commit
ee640f444b
@ -1212,6 +1212,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);
|
||||
@ -1238,6 +1242,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…
x
Reference in New Issue
Block a user