This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: [PATCH] Compatibility improvement to reparse point handling, v3
On 2017-06-20 01:17, Corinna Vinschen wrote:
> Actually, DT_UNKNOWN indicates nothing. The sole purpose of this
> value is to tell the application that the information is not readily
> available without having to perform costly operations, which often
OK.
> I pushed your patch, plus a follow-up patch to handle remote reparse
> points correctly, as outlined in my previous reply.
Thanks, and for catching the isremote() fix.
I adhoc tested against a variety of symlink and mountpoint reparse
points. I dont see any issues, and changes are working as expected.
I will keep watching the dev and patch mail lists for a while, but if
some issues pop-up then feel free to contact me directly.
Joe L.
Some test results.
Previous cygwin.
joe@dev /cygdrive/c/Volumes
$ ls -ladsh *
0 lrwxrwxrwx 1 joe None 51 Jun 21 09:58 file_device_symlink.txt -> /cygdrive/c/Device/HarddiskVolume13/folder/file.txt
0 lrwxrwxrwx 1 joe None 27 Jun 21 09:58 file_drive_symlink.txt -> /cygdrive/g/folder/file.txt
0 lrwxrwxrwx 1 joe None 69 Jun 21 09:58 file_guid_symlink.txt -> /cygdrive/c/ume{0fe73790-e32c-11e6-827a-bc5ff473f2ab}/folder/file.txt
0 lrwxrwxrwx 1 joe None 15 Jun 21 09:58 file_relative_symlink.txt -> folder/file.txt
0 drwxrwx---+ 1 joe None 0 Jun 21 09:55 folder
0 lrwxrwxrwx 1 joe None 42 Jun 21 09:58 folder_device_mountpoint -> /cygdrive/c/Device/HarddiskVolume13/folder
0 lrwxrwxrwx 1 joe None 42 Jun 21 09:58 folder_device_symlink -> /cygdrive/c/Device/HarddiskVolume13/folder
0 lrwxrwxrwx 1 joe None 18 Jun 21 09:58 folder_drive_mountpoint -> /cygdrive/g/folder
0 lrwxrwxrwx 1 joe None 18 Jun 21 09:58 folder_drive_symlink -> /cygdrive/g/folder
0 drwxr-xr-x 1 joe None 0 Jun 21 09:55 folder_guid_mountpoint
0 lrwxrwxrwx 1 joe None 60 Jun 21 09:58 folder_guid_symlink -> /cygdrive/c/ume{0fe73790-e32c-11e6-827a-bc5ff473f2ab}/folder
0 lrwxrwxrwx 1 joe None 6 Jun 21 09:58 folder_relative_symlink -> folder
0 lrwxrwxrwx 1 joe None 36 Jun 21 09:58 volume_device_mountpoint -> /cygdrive/c/Device/HarddiskVolume13/
0 lrwxrwxrwx 1 joe None 36 Jun 21 09:58 volume_device_symlink -> /cygdrive/c/Device/HarddiskVolume13/
0 lrwxrwxrwx 1 joe None 11 Jun 21 09:58 volume_drive_mountpoint -> /cygdrive/g
0 lrwxrwxrwx 1 joe None 11 Jun 21 09:58 volume_drive_symlink -> /cygdrive/g
0 drwxr-xr-x 1 joe None 0 Dec 31 1979 volume_guid_mountpoint
0 lrwxrwxrwx 1 joe None 54 Jun 21 09:58 volume_guid_symlink -> /cygdrive/c/ume{0fe73790-e32c-11e6-827a-bc5ff473f2ab}/
joe@dev /cygdrive/c/Volumes
$ grep -r hello .
./folder/file.txt:hello
./folder_guid_mountpoint/file.txt:hello
./volume_guid_mountpoint/folder/file.txt:hello
Updated cygwin.
joe@dev /cygdrive/c/Volumes
$ ls -ladsh *
4.0K -rw-r--r-- 1 joe None 7 Jun 21 09:58 file_device_symlink.txt
0 lrwxrwxrwx 1 joe None 27 Jun 21 09:58 file_drive_symlink.txt -> /cygdrive/g/folder/file.txt
4.0K -rw-r--r-- 1 joe None 7 Jun 21 09:58 file_guid_symlink.txt
0 lrwxrwxrwx 1 joe None 15 Jun 21 09:58 file_relative_symlink.txt -> folder/file.txt
0 drwxrwx---+ 1 joe None 0 Jun 21 09:55 folder
0 drwxr-xr-x 1 joe None 0 Jun 21 09:55 folder_device_mountpoint
0 drwxr-xr-x 1 joe None 0 Jun 21 09:55 folder_device_symlink
0 lrwxrwxrwx 1 joe None 18 Jun 21 09:58 folder_drive_mountpoint -> /cygdrive/g/folder
0 lrwxrwxrwx 1 joe None 18 Jun 21 09:58 folder_drive_symlink -> /cygdrive/g/folder
0 drwxr-xr-x 1 joe None 0 Jun 21 09:55 folder_guid_mountpoint
0 drwxr-xr-x 1 joe None 0 Jun 21 09:55 folder_guid_symlink
0 lrwxrwxrwx 1 joe None 6 Jun 21 09:58 folder_relative_symlink -> folder
0 drwxr-xr-x 1 joe None 0 Dec 31 1979 volume_device_mountpoint
0 drwxr-xr-x 1 joe None 0 Dec 31 1979 volume_device_symlink
0 lrwxrwxrwx 1 joe None 11 Jun 21 09:58 volume_drive_mountpoint -> /cygdrive/g
0 lrwxrwxrwx 1 joe None 11 Jun 21 09:58 volume_drive_symlink -> /cygdrive/g
0 drwxr-xr-x 1 joe None 0 Dec 31 1979 volume_guid_mountpoint
0 drwxr-xr-x 1 joe None 0 Dec 31 1979 volume_guid_symlink
joe@dev /cygdrive/c/Volumes
$ grep -r hello .
./file_device_symlink.txt:hello
./file_guid_symlink.txt:hello
./folder/file.txt:hello
./folder_device_mountpoint/file.txt:hello
./folder_device_symlink/file.txt:hello
./folder_guid_mountpoint/file.txt:hello
./folder_guid_symlink/file.txt:hello
./volume_device_mountpoint/folder/file.txt:hello
./volume_device_symlink/folder/file.txt:hello
./volume_guid_mountpoint/folder/file.txt:hello
./volume_guid_symlink/folder/file.txt:hello