diff --git a/src/fuse_readdir.cpp b/src/fuse_readdir.cpp index 8c619310..b35cc1a8 100644 --- a/src/fuse_readdir.cpp +++ b/src/fuse_readdir.cpp @@ -99,6 +99,24 @@ _handle_ENOENT(const fuse_file_info_t *ffi_, return 0; } +int +FUSE::ReadDir::opendir(const fuse_req_ctx_t *ctx_, + const char *fusepath_, + fuse_file_info_t *ffi_) +{ + int rv; + std::shared_ptr readdir; + + readdir = std::atomic_load(&_impl); + assert(readdir); + + rv = readdir->readdir(ctx_,ffi_,buf_); + if(rv == -ENOENT) + return ::_handle_ENOENT(ffi_,buf_); + + return rv; +} + int FUSE::ReadDir::readdir(const fuse_req_ctx_t *ctx_, const fuse_file_info_t *ffi_,