On 12/5/2019 7:52 AM, Corinna Vinschen wrote: > On Dec 5 10:18, Corinna Vinschen wrote: >> On Dec 4 21:41, Ken Brown wrote: >>> The difference is that NtCreateFile doesn't fail with >>> STATUS_OBJECT_NAME_NOT_FOUND in the other cases, so the code containing the >>> assertion doesn't get run. >>> >>> BTW, I just tried the following on my system: >>> >>> $ ls z:\\ >>> ls: cannot access 'z:\': No such file or directory >>> >>> strace shows that NtCreateFile fails with STATUS_OBJECT_PATH_NOT_FOUND in >>> this >>> case, so again the code containing the assertion is not run. >>> >>> To be continued... >> >> So, maybe we could just check if ext_here - path > 2, i. e. >> >> if (status == STATUS_OBJECT_NAME_NOT_FOUND && ext_here - path > 2) >> >> That excludes "X:" paths from this special handling for DOS-only drives. > > The only problem here is that I can't reproduce the assertion failure. > > I created a Samba share on a Linux machine, mounted it as drive Z:, > and set the "always available offline" property of the drive. > > After syncing I accessed the drive, then I stopped Samba on the Linux > server to switch the drive into offline mode. Then I ran `ls -la > /cygdrive/z'. After a few secs I got the offline content cached on the > local machine. I also tried `ls -la /cygdrive/' and `cd /cygdrive; ls > -la', but every time I got the expected output. In the cases I tried > to list /cygdrive itself I got the expected output, all drives except > the z drive. > > I tried this with Cygwin 3.1.0-0.8.x86_64 on Windows 7 and Windows 10. > > So either there's something very special in Wilfed's setup, or I'm > doing something wrong. Which is it?
How does your strace output compare to Wilfed's when you list /cygdrive? Does it show a failed attempt to list Z: with an error from NtCreateFile? Ken -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple