diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-05-27 23:36:43 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-05-27 23:36:43 -0500 |
| commit | 44a1fa6fac19e3c323a7d7d8bf9d0443cc54b75b (patch) | |
| tree | 168b05fad486336b48411c72a988c8c844d3114d /src | |
| parent | 2978356bebd38a3645e82188e94a987f7981d7a3 (diff) | |
Clarify lazy FUSE read fd handling
Diffstat (limited to 'src')
| -rw-r--r-- | src/src/vfs/mo2filesystem.cpp | 6 |
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) { |
