dokan-dev / dokany

User mode file system library for windows with FUSE Wrapper
http://dokan-dev.github.io
5.21k stars 661 forks source link

ERROR_INSUFFICIENT_BUFFER and invalid file handle errors when sharing mirrored drive #1002

Closed mufunyo closed 2 years ago

mufunyo commented 3 years ago

Environment

Check List

Description

This issue is similar but not identical to #447. I am sharing Google DriveFS over Windows File Sharing, and resolving oddities with the DriveFS implementation by passing it through Dokany, which among other things fixes permissions so that networked clients can access the share. When accessing files (PNG images in my case) through Explorer and Windows Picture Viewer everything is fine, but when I copy an entire folder full of files, all the resulting files are incomplete. The log file reveals an ERROR_INSUFFICIENT_BUFFER error. The system is provisioned with 16GB of RAM and has plenty free. Another error that pops up frequently in the log is invalid file handle. Error is 87.

Files as they appear on the remote share: image

Files as they appear after copying to a local folder: image

Logs

Please attach in separate files: mirror output, library logs and kernel logs. In case of BSOD, please attach minidump or dump analyze output.

I tried creating a kernel log using DbgView but there were no log entries during the repro process.

Mirror log file: log.txt

Liryna commented 2 years ago

Hi @mufunyo ,

Thank you for the feedback.

This error is returned when the internal timeout for the request is reached. The user filesystem can request more time by using the reset timeout API but unfortunately mirror does not implement it.

Mirror is just a sample of the library. If someone is willing to change the mirror to support, I would be welcome to review the pull request.