(sorry, premature send)

On 12/05/2011 1:00 AM, Jeffrey Altman wrote:
> Sure.  Cygwin needs to add support for the OpenAFS reparse point tag data.  
> We can't claim to be a ntfs symlink since we aren't one.  Nor can we claim to 
> be an ntfs junction since we aren't one of those.
 
What about just the dir command?  Is it not possible for an IFS driver to get 
something reported as <SYMLINK> or <SYMLINKD> by the cmd.exe dir command?  So 
it sounds like MS added symlink support only to NTFS, rather than doing it in a 
truly generic way.  That stinks.

Thanks for your response.

This got me curious how it might work the other way (creating symlinks in afs 
using windows tools)

The Windows mklink command just refuses:

Z:\users\j\s\h\jsharper\myafsdir>mklink mymklinklink myrealfile
The file or directory is not a reparse point.

Interestingly, the Cygwin ln command seems to create something that is 
understood to be a symlink by Cygwin's ls.exe (but not their find.exe) but in 
reality appears to actually be a binary file:

jsharper@MARVINK /afs/asu.edu/users/j/s/h/jsharper/myafsdir
$ ln -s myrealfile mywinsymlink

jsharper@MARVINK /afs/asu.edu/users/j/s/h/jsharper/myafsdir
$ ls -l
total 6
drwxr-xr-x 1 jsharper None  0 Dec  5 12:41 .
drwxr-xr-x 1 jsharper None  0 Mar 27  1997 ..
-rw-r--r-- 1 jsharper None  3 Dec  5 12:41 myrealfile
-rw-r--r-- 1 jsharper None 10 Dec  5 12:41 mysymlink
lrwxrwxrwx 1 jsharper None 10 Dec  5 13:09 mywinsymlink -> myrealfile

jsharper@MARVINK /afs/asu.edu/users/j/s/h/jsharper/myafsdir
$ find . -type l

jsharper@MARVINK /afs/asu.edu/users/j/s/h/jsharper/myafsdir
$ find . -type f
./myrealfile
./mysymlink
./mywinsymlink

[back to Linux land...]

[jsharper@mooney 13:14:55 -12- /afs/asu.edu/users/j/s/h/jsharper/myafsdir]% ls 
-l
total 3
-rw-rw-r-- 1 jsharper jsharper  3 Dec  5 12:41 myrealfile
lrwxr-xr-x 1 jsharper jsharper 10 Dec  5 12:41 mysymlink -> myrealfile
-rw-rw-rw- 1 jsharper jsharper 34 Dec  5 13:09 mywinsymlink
[jsharper@mooney 13:14:56 -12- /afs/asu.edu/users/j/s/h/jsharper/myafsdir]% 
hexdump -C mywinsymlink 
00000000  21 3c 73 79 6d 6c 69 6e  6b 3e ff fe 6d 00 79 00  |!<symlink>..m.y.|
00000010  72 00 65 00 61 00 6c 00  66 00 69 00 6c 00 65 00  |r.e.a.l.f.i.l.e.|
00000020  00 00                                             |..|
00000022


Jason

Reply via email to