diff --git a/vendored/libfuse/lib/fuse.cpp b/vendored/libfuse/lib/fuse.cpp index 578d8d38..5484c312 100644 --- a/vendored/libfuse/lib/fuse.cpp +++ b/vendored/libfuse/lib/fuse.cpp @@ -1681,7 +1681,18 @@ fuse_lib_setattr(fuse_req_t *req_, if(!err) { + { + node_t *node; + mutex_lockguard(f.lock); + + node = get_node(hdr_->nodeid); + if(node) + update_stat(node,&stbuf); + } + + mutex_lock(f.lock); + update_stat(get_node(hdr_->nodeid),&stbuf); mutex_unlock(f.lock); set_stat(hdr_->nodeid,&stbuf);