Browse Source

reset dentry buffer when rewind'ed

pull/878/head 2.32.3
Antonio SJ Musumeci 4 years ago
parent
commit
f6e37672b8
  1. 2
      src/fuse_readdir_linux.cpp
  2. 2
      src/fuse_readdir_plus_linux.cpp
  3. 2
      src/fuse_readdir_plus_posix.cpp
  4. 2
      src/fuse_readdir_posix.cpp

2
src/fuse_readdir_linux.cpp

@ -66,6 +66,8 @@ namespace l
uint64_t namelen; uint64_t namelen;
struct linux_dirent64 *d; struct linux_dirent64 *d;
fuse_dirents_reset(buf_);
buf = (char*)g_DENTS_BUF_POOL.alloc(); buf = (char*)g_DENTS_BUF_POOL.alloc();
if(buf == NULL) if(buf == NULL)
return -ENOMEM; return -ENOMEM;

2
src/fuse_readdir_plus_linux.cpp

@ -70,6 +70,8 @@ namespace l
fuse_entry_t entry; fuse_entry_t entry;
struct linux_dirent64 *d; struct linux_dirent64 *d;
fuse_dirents_reset(buf_);
buf = (char*)g_DENTS_BUF_POOL.alloc(); buf = (char*)g_DENTS_BUF_POOL.alloc();
entry.nodeid = 0; entry.nodeid = 0;

2
src/fuse_readdir_plus_posix.cpp

@ -72,6 +72,8 @@ namespace l
uint64_t namelen; uint64_t namelen;
fuse_entry_t entry; fuse_entry_t entry;
fuse_dirents_reset(buf_);
entry.nodeid = 0; entry.nodeid = 0;
entry.generation = 0; entry.generation = 0;
entry.entry_valid = entry_timeout_; entry.entry_valid = entry_timeout_;

2
src/fuse_readdir_posix.cpp

@ -67,6 +67,8 @@ namespace l
string fullpath; string fullpath;
uint64_t namelen; uint64_t namelen;
fuse_dirents_reset(buf_);
for(size_t i = 0, ei = branches_.size(); i != ei; i++) for(size_t i = 0, ei = branches_.size(); i != ei; i++)
{ {
int rv; int rv;

Loading…
Cancel
Save