-
Notifications
You must be signed in to change notification settings - Fork 547
Description
Bug Report
Passthrough fs does not work with Quickbooks, even if you change the sector size to 512.
How to Reproduce
If you download the trial version of Quickbooks here:
And you build the passthrough.exe, and create the "sample qbw" file, and move it to a passtrhough fs, the file won't open.
-
First, I tried changing the sector size to 512, thinking this was: Passthrough: video files don't play #197. Because otherwise you get FileSystemControl: 0x90390 (Function 228, Method 0) Invalid device request.
-
Changing to 512 seems to evade that code path, but then again it does Control: 0x90390 (Device:0x9 Function:228 Method: 0) ... and, then you get an infinite loop of: FSCTL_GET_RETRIEVAL_POINTERS calls.
Behaviors
-
I would expect the FileSystemControl FSCTL_GET_RETRIEVAL_POINTERS to succeed the first time, and to return END OF FILE on the second call with the pointer advancement attempt - to better emulate NTFS behavior. NTFS responds this way.
-
Apparently AirFS works, but still has the FSCTL_GET_RETRIEVAL_POINTERS loop problem (making it very slow, but functional).
-
This mean that there is a unknown discrepency between AirFS and Passthru that causes a failure, but it is very hard to diagnose with procman, because the the FSCTL_GET_RETRIEVAL_POINTERS loop issue (millions of calls to that function happen while trying to figure out how airfs differs from passthru).
Environment
- OS version and build: 10.0.18362
- WinFsp version and build: 1.4.19049