Mail Archives: cygwin/2015/10/21/09:05:28
Greetings, Corinna Vinschen!
> On Oct 21 15:33, Andrey Repin wrote:
>> Windows does not allow for reparse points to networked locations.
>> Symlinks all right, directory junctions no.
> Fine, but then the question is, why is the FILE_ATTRIBUTE_REPARSE_POINT
> flag set in the first place?
May be the reparse point was manually tampered with.
I just ran strace on two ls calls.
On symlink to a network share
1962 29951 [main] ls 28776 lstat64: entering
18 29969 [main] ls 28776 normalize_posix_path: src /c/arc
15 29984 [main] ls 28776 normalize_posix_path: /c/arc = normalize_posix_path (/c/arc)
16 30000 [main] ls 28776 mount_info::conv_to_win32_path: conv_to_win32_path (/c/arc)
14 30014 [main] ls 28776 mount_info::cygdrive_win32_path: src '/c/arc', dst 'C:\arc'
13 30027 [main] ls 28776 set_flags: flags: binary (0x2)
13 30040 [main] ls 28776 mount_info::conv_to_win32_path: src_path /c/arc, dst C:\arc, flags 0x6022, rc 0
38 30078 [main] ls 28776 symlink_info::check: 0x0 = NtCreateFile (\??\C:\arc)
38 30116 [main] ls 28776 symlink_info::check: 28 = symlink.check(C:\arc, 0x22B600) (0x4406023)
15 30131 [main] ls 28776 path_conv::check: this->path(C:\arc), has_acls(1)
17 30148 [main] ls 28776 build_fh_pc: fh 0x180329B00, dev 000000C3
15 30163 [main] ls 28776 stat_worker: (\??\C:\arc, 0x60008A2F0, 0x180329B00), file_attributes 1024
19 30182 [main] ls 28776 fhandler_base::fstat_helper: 0 = fstat (\??\C:\arc, 0x60008A2F0) st_size=28, st_mode=0120777, st_ino=443041613342573138st_atim=54BC1392.15238F60 st_ctim=54BC1392.15238F60 st_mtim=54BC1392.15238F60 st_birthtim=54BC1392.15238F60
17 30199 [main] ls 28776 stat_worker: 0 = (\??\C:\arc,0x60008A2F0)
37 30236 [main] ls 28776 normalize_posix_path: src /c/arc
13 30249 [main] ls 28776 normalize_posix_path: /c/arc = normalize_posix_path (/c/arc)
13 30262 [main] ls 28776 mount_info::conv_to_win32_path: conv_to_win32_path (/c/arc)
14 30276 [main] ls 28776 mount_info::cygdrive_win32_path: src '/c/arc', dst 'C:\arc'
13 30289 [main] ls 28776 set_flags: flags: binary (0x2)
13 30302 [main] ls 28776 mount_info::conv_to_win32_path: src_path /c/arc, dst C:\arc, flags 0x6022, rc 0
32 30334 [main] ls 28776 symlink_info::check: 0x0 = NtCreateFile (\??\C:\arc)
37 30371 [main] ls 28776 symlink_info::check: 28 = symlink.check(C:\arc, 0x22B570) (0x4006023)
15 30386 [main] ls 28776 path_conv::check: this->path(//DAEMON1.DARKDRAGON.LAN/arc), has_acls(1)
On directory junction to another local drive:
1825 26534 [main] ls 26712 lstat64: entering
19 26553 [main] ls 26712 normalize_posix_path: src /c/Users
14 26567 [main] ls 26712 normalize_posix_path: /c/Users = normalize_posix_path (/c/Users)
14 26581 [main] ls 26712 mount_info::conv_to_win32_path: conv_to_win32_path (/c/Users)
13 26594 [main] ls 26712 mount_info::cygdrive_win32_path: src '/c/Users', dst 'C:\Users'
12 26606 [main] ls 26712 set_flags: flags: binary (0x2)
12 26618 [main] ls 26712 mount_info::conv_to_win32_path: src_path /c/Users, dst C:\Users, flags 0x6022, rc 0
45 26663 [main] ls 26712 symlink_info::check: 0x0 = NtCreateFile (\??\C:\Users)
108 26771 [main] ls 26712 symlink_info::check: not a symlink
20 26791 [main] ls 26712 symlink_info::check: 0 = symlink.check(C:\Users, 0x22B600) (0x6022)
14 26805 [main] ls 26712 path_conv::check: this->path(C:\Users), has_acls(1)
16 26821 [main] ls 26712 build_fh_pc: fh 0x180329B00, dev 000000C3
14 26835 [main] ls 26712 stat_worker: (\??\C:\Users, 0x60008A2F0, 0x180329B00), file_attributes 1072
13 26848 [main] ls 26712 fhandler_base::open: (\??\C:\Users, 0x110000)
54 26902 [main] ls 26712 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x10000
15 26917 [main] ls 26712 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
12 26929 [main] ls 26712 fhandler_base::set_flags: filemode set to binary
12 26941 [main] ls 26712 fhandler_base::open: 0x0 = NtCreateFile (0x29C, 0x80100000, \??\C:\Users, io, NULL, 0x0, 0x7, 0x1, 0x4020, NULL, 0)
13 26954 [main] ls 26712 fhandler_base::open: 1 = fhandler_base::open(\??\C:\Users, 0x110000)
15 26969 [main] ls 26712 fhandler_base::open_fs: 1 = fhandler_disk_file::open(\??\C:\Users, 0x10000)
17 26986 [main] ls 26712 fhandler_base::fstat_helper: 0 = fstat (\??\C:\Users, 0x60008A2F0) st_size=0, st_mode=040755, st_ino=562949953508329st_atim=540F4952.1CDEF9D8 st_ctim=5405F6F7.8AFF78C st_mtim=5405F6F7.8AFF78C st_birthtim=53DFAC4D.59682F0
14 27000 [main] ls 26712 fhandler_base::close: closing '/c/Users' handle 0x29C
20 27020 [main] ls 26712 stat_worker: 0 = (\??\C:\Users,0x60008A2F0)
17 27037 [main] ls 26712 normalize_posix_path: src /c/Users
12 27049 [main] ls 26712 normalize_posix_path: /c/Users = normalize_posix_path (/c/Users)
12 27061 [main] ls 26712 mount_info::conv_to_win32_path: conv_to_win32_path (/c/Users)
13 27074 [main] ls 26712 mount_info::cygdrive_win32_path: src '/c/Users', dst 'C:\Users'
12 27086 [main] ls 26712 set_flags: flags: binary (0x2)
12 27098 [main] ls 26712 mount_info::conv_to_win32_path: src_path /c/Users, dst C:\Users, flags 0x6022, rc 0
27 27125 [main] ls 26712 symlink_info::check: 0x0 = NtCreateFile (\??\C:\Users)
74 27199 [main] ls 26712 symlink_info::check: not a symlink
19 27218 [main] ls 26712 symlink_info::check: 0 = symlink.check(C:\Users, 0x22A570) (0x6022)
14 27232 [main] ls 26712 path_conv::check: this->path(C:\Users), has_acls(1)
It did not fully resolve the destination here, but meh. It worked as is.
Original destination is C:\Users = \\?\Volume{6833c423-2223-11e4-b07d-806e6f6e6963}\Profiles
--
With best regards,
Andrey Repin
Wednesday, October 21, 2015 15:47:13
Sorry for my terrible english...
--
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
- Raw text -