summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorFranck Bui <fbui@suse.com>2018-06-13 18:15:55 +0200
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commit7bde1b2188a60dc70a99fc2047b3b877e5f8349d (patch)
treed393c347b371baf64497f06c516809c76c4bfa19 /src/basic
parent43e3b16a87ed24ba58facbc29f05ad99aa581fac (diff)
locale-util: on overlayfs FTW_MOUNT causes nftw(3) to not list *any* files
On overlayfs, FTW_MOUNT causes nftw to not list *any* files because the condition used by glibc to verify that it's on the same mountpoint doesn't work on overlayfs, see https://bugzilla.suse.com/show_bug.cgi?id=1096807 for the details. However using FTW_MOUNT doesn't seem to be really needed when walking through the keymap directorie tree. So until the glibc or the kernel is fixed (which might take some time), let's make localectl works with overlayfs. There's a small side effect here, by which regular (non-directory) files with bind mounts will be parsed while they were skipped by the previous logic.
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/locale-util.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c
index 8b6bc51bd..b382af192 100644
--- a/src/basic/locale-util.c
+++ b/src/basic/locale-util.c
@@ -306,7 +306,7 @@ int get_keymaps(char ***ret) {
return -ENOMEM;
NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) {
- r = nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS|FTW_ACTIONRETVAL);
+ r = nftw(dir, nftw_cb, 20, FTW_PHYS|FTW_ACTIONRETVAL);
if (r == FTW_STOP)
log_debug("Directory not found %s", dir);