aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-05-27 23:36:43 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-05-27 23:36:43 -0500
commit44a1fa6fac19e3c323a7d7d8bf9d0443cc54b75b (patch)
tree168b05fad486336b48411c72a988c8c844d3114d /src
parent2978356bebd38a3645e82188e94a987f7981d7a3 (diff)
Clarify lazy FUSE read fd handling
Diffstat (limited to 'src')
-rw-r--r--src/src/vfs/mo2filesystem.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/src/vfs/mo2filesystem.cpp b/src/src/vfs/mo2filesystem.cpp
index e34258c..814d2ce 100644
--- a/src/src/vfs/mo2filesystem.cpp
+++ b/src/src/vfs/mo2filesystem.cpp
@@ -1532,9 +1532,9 @@ void mo2_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info* fi)
// This matches upstream USVFS behavior more closely than the previous
// conservative "copy everything writable into overwrite" approach.
//
- // Read strategy: always open a real backing fd at open() time so mo2_read
- // can splice from it without re-opening per read call. Avoids N syscalls
- // per file for games that stream large BSAs in many small chunks.
+ // Read strategy: create the handle cheaply, then open the backing fd on the
+ // first read and retain a bounded LRU set. Wine probes many files it never
+ // reads, while streamed files still get splice-friendly retained fds.
int fd = -1;
if (writable) {