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? Corinna -- Corinna Vinschen Cygwin Maintainer