diff --git a/src/fuse_open.cpp b/src/fuse_open.cpp index 858bb10f..9f5f37c8 100644 --- a/src/fuse_open.cpp +++ b/src/fuse_open.cpp @@ -35,6 +35,12 @@ #include #include +struct PT +{ + int backing_id; + std::mutex mutex; +}; + static boost::unordered::concurrent_flat_map pt; @@ -328,7 +334,8 @@ namespace FUSE open(const char *fusepath_, fuse_file_info_t *ffi_) { - + pt.try_emplace_or_visit(fusepath_, + return open2(fusepath_,ffi_);