From bd31664497f1ba27a66f49e128ab4747484820c9 Mon Sep 17 00:00:00 2001 From: Martin Pärtel Date: Sat, 17 Jun 2017 11:43:02 +0300 Subject: Work around `pathconf(..., _PC_NAME_MAX)` erroneously returning 0 for some source filesystems. Fixes #54 --- ChangeLog | 5 +++++ src/bindfs.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index b17229e..d78fd26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-06-17 Martin Pärtel + + * Work around `pathconf(..., _PC_NAME_MAX)` erroneously returning 0 + for some source filesystems (issue #54). + 2017-04-19 Martin Pärtel * Added --block-devices-as-files (issue #53). diff --git a/src/bindfs.c b/src/bindfs.c index f6bbbe4..0d10b74 100644 --- a/src/bindfs.c +++ b/src/bindfs.c @@ -678,6 +678,10 @@ static int bindfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, if (pc_ret < 0) { DPRINTF("pathconf failed: %s (%d)", strerror(errno), errno); pc_ret = NAME_MAX; + } else if (pc_ret == 0) { + // Workaround for some source filesystems erroneously returning 0 + // (see issue #54). + pc_ret = NAME_MAX; } struct dirent *de_buf = -- cgit v1.2.3