On Dec 5 16:10, Ken Brown wrote: > 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?
Not at all. The strace doesn't show any attempt to open Z:. Corinna -- Corinna Vinschen Cygwin Maintainer
signature.asc
Description: PGP signature