summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-10-18 21:50:56 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2021-10-18 21:50:56 +0200
commit60dc44b707149e31fa766885574484aa5172f498 (patch)
tree397b6bf9ae4cb950bf0ae388c58bfb2d374a49ad
parent88e0d68909c007576272d65216b0e7a9011b9c9b (diff)
downloadlvm2-60dc44b707149e31fa766885574484aa5172f498.tar.gz
dev-cache: enhance dir scan also for non-udev build
-rw-r--r--lib/device/dev-cache.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/device/dev-cache.c b/lib/device/dev-cache.c
index 57fa916a9..c6e5f68cf 100644
--- a/lib/device/dev-cache.c
+++ b/lib/device/dev-cache.c
@@ -1099,9 +1099,17 @@ static int _device_in_udev_db(const dev_t d)
static void _insert_dirs(struct dm_list *dirs)
{
struct dir_list *dl;
+ struct stat tinfo;
- dm_list_iterate_items(dl, &_cache.dirs)
+ dm_list_iterate_items(dl, &_cache.dirs) {
+ if (stat(dl->dir, &tinfo) < 0) {
+ log_warn("WARNING: Cannot use dir %s, %s.",
+ dl->dir, strerror(errno));
+ continue;
+ }
+ _cache.st_dev = tinfo.st_dev;
_insert_dir(dl->dir);
+ }
}
#endif /* UDEV_SYNC_SUPPORT */