dokan-dev / dokany

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

IFSTest SimpleRenameInformationTest make mirror hangs #566

Open Liryna opened 7 years ago

Liryna commented 7 years ago

Environment

Description

IFSTest SimpleRenameInformationTest make mirror hangs for a long time and test fail:

1Test         :SimpleRenameInformationTest
Group        :FileInformation
Status       :C000001E (IFSTEST_TEST_NTAPI_FAILURE_CODE)
LastNtStatus     :C0000022 STATUS_ACCESS_DENIED
ExpectedNtStatus :00000000 STATUS_SUCCESS
TestVariant  :00010001 TEST_VARIANT_FILE
Description  :{Msg# FileInfo!srename!14} An attempt was made to
              open the root volume \??\M:. These files are created
              when the File Information Group is setup.   Check
              the last status thatwas returned.
jetwhiz commented 7 years ago

Hi @Liryna !

I'm not sure if this is related, but I'm experiencing a similar issue with the FUSE mirror when attempting to work with files inside of a folder.

Reproducing it on my side: Mount with sample FUSE mirror. Create a folder 'y', then create a file 'a.txt' in it. Open 'a.txt' and write something in it, save and close it. Now try to re-open 'a.txt' and you get an infinite loop of reading attempts:

###Read 0214
ReadFile: \y\a.txt from 0 len 4096
###Read 0214
ReadFile: \y\a.txt from 0 len 4096
###Read 0214
ReadFile: \y\a.txt from 0 len 4096
###Read 0214
ReadFile: \y\a.txt from 0 len 4096
###Read 0214
ReadFile: \y\a.txt from 0 len 4096
###Read 0214
ReadFile: \y\a.txt from 0 len 4096

I don't experience this when it is built into encfs4win, however.

Liryna commented 7 years ago

Hi @jetwhiz ,

I do not think this is releated, here it seems to be an open/rename issue. About the FUSE issue, you can open another issue on it. I do not have cygwin env for now, if you can try to see a little more what is happening (if read buffer is correct and such), what is the difference with encfs4win 👍

jetwhiz commented 7 years ago

Oddly enough, the problem only seems to exist in the sample FUSE mirror and not on encfs4win. Maybe it's just with my cygwin dll that is causing that issue?

Rondom commented 7 years ago

I have had strange problems with the FUSE mirror that I could not reproduce with my own filesystem as well. Unfortunately they were hard to reproduce and track down. So I gave up.

But please open a separate issue!