diff --git a/src/fuse_readdir_linux.cpp b/src/fuse_readdir_linux.cpp index 7bbf2ece..6f857b1b 100644 --- a/src/fuse_readdir_linux.cpp +++ b/src/fuse_readdir_linux.cpp @@ -65,6 +65,8 @@ namespace l uint64_t namelen; struct linux_dirent64 *d; + fuse_dirents_reset(buf_); + buf = (char*)g_DENTS_BUF_POOL.alloc(); if(buf == NULL) return -ENOMEM; diff --git a/src/fuse_readdir_plus_linux.cpp b/src/fuse_readdir_plus_linux.cpp index 9e87568b..880f158b 100644 --- a/src/fuse_readdir_plus_linux.cpp +++ b/src/fuse_readdir_plus_linux.cpp @@ -70,6 +70,8 @@ namespace l fuse_entry_t entry; struct linux_dirent64 *d; + fuse_dirents_reset(buf_); + buf = (char*)g_DENTS_BUF_POOL.alloc(); entry.nodeid = 0; diff --git a/src/fuse_readdir_plus_posix.cpp b/src/fuse_readdir_plus_posix.cpp index b78f9516..0d974e6e 100644 --- a/src/fuse_readdir_plus_posix.cpp +++ b/src/fuse_readdir_plus_posix.cpp @@ -71,6 +71,8 @@ namespace l uint64_t namelen; fuse_entry_t entry; + fuse_dirents_reset(buf_); + entry.nodeid = 0; entry.generation = 0; entry.entry_valid = entry_timeout_; diff --git a/src/fuse_readdir_posix.cpp b/src/fuse_readdir_posix.cpp index 5d3bf961..0e200073 100644 --- a/src/fuse_readdir_posix.cpp +++ b/src/fuse_readdir_posix.cpp @@ -67,6 +67,8 @@ namespace l string fullpath; uint64_t namelen; + fuse_dirents_reset(buf_); + for(const auto &branch : *branches_) { int rv;