On 12/05/2011 12:33 PM, Jeffrey Altman wrote:
>On Dec 5, 2011, at 1:39 PM, Jason Harper <[email protected]> wrote:
>
>> On 12/05/2011 10:14 AM, Jeffrey Altman wrote:
>>> Last night version 1.7.3 was released which fixes as many of the
>>> outstanding issues that have been reported with sufficient detail to
>>> reproduce.
>>
>> Hi Jeffrey,
>> I'm wondering if there are any plans for the client to report symlinks as
>> actual symlinks to versions of Windows (like 7) that support symlinks? Or
>> does it already support this with a config switch or something somewhere?
>
>The 1.7 series reports AFS mount points and symlinks as Reparse points using
>the Tag value assigned to us by Microsoft.
Hmm. Unfortunately, that must be somehow different from how "real" symlinks in
NTFS are reported, as things like the cmd.exe DIR command, and Cygwin's ls.exe
and find.exe don't seem to see them as symlinks the way they do on NTFS. This
actually bit me recently when I ran a bash script that runs fine out of afs on
Linux and MacOS but nuked an important directory (that was symlinked to) when I
ran it under Windows due to the different behavior of how the symlink was
reported to the find command.
C:\myntfsdir>echo hi >myrealfile
C:\myntfsdir>mklink mysymlink myrealfile
symbolic link created for mysymlink <<===>> myrealfile
C:\myntfsdir>dir
Volume in drive C has no label.
Volume Serial Number is 509B-714B
Directory of C:\myntfsdir
12/05/2011 12:38 PM <DIR> .
12/05/2011 12:38 PM <DIR> ..
12/05/2011 12:38 PM 5 myrealfile
12/05/2011 12:38 PM <SYMLINK> mysymlink [myrealfile]
2 File(s) 5 bytes
2 Dir(s) 35,045,048,320 bytes free
C:\myntfsdir>\cygwin\bin\ls -l
total 1
-rwx------+ 1 Administrators None 5 Dec 5 12:38 myrealfile
lrwxrwxrwx 1 Administrators None 10 Dec 5 12:38 mysymlink -> myrealfile
C:\myntfsdir>\cygwin\bin\find . -type f
./myrealfile
C:\myntfsdir>\cygwin\bin\find . -type l
./mysymlink
C:\myntfsdir>
But in AFS:
(setup done on Linux):
[/afs/asu.edu/users/j/s/h/jsharper/myafsdir]% echo hi >myrealfile
[/afs/asu.edu/users/j/s/h/jsharper/myafsdir]% ln -s myrealfile mysymlink
[/afs/asu.edu/users/j/s/h/jsharper/myafsdir]% ls -l
total 2
-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
[/afs/asu.edu/users/j/s/h/jsharper/myafsdir]%
(then back to Windows 7 with OpenAFS 1.7.3 to show that Windows doesn’t see the
symlink as a symlink)
Z:\users\j\s\h\jsharper\myafsdir>dir
Volume in drive Z is root.cell.readonly
Volume Serial Number is 2000-0A4E
Directory of Z:\users\j\s\h\jsharper\myafsdir
12/05/2011 12:41 PM <DIR> .
12/05/2011 12:41 PM <DIR> ..
12/05/2011 12:41 PM 3 myrealfile
12/05/2011 12:41 PM 3 mysymlink
2 File(s) 4,102 bytes
2 Dir(s) 919,524,251,648 bytes free
Z:\users\j\s\h\jsharper\myafsdir>c:\cygwin\bin\ls -l
total 2
-rw-r--r-- 1 jsharper None 3 Dec 5 12:41 myrealfile
-rw-r--r-- 1 jsharper None 10 Dec 5 12:41 mysymlink
Z:\users\j\s\h\jsharper\myafsdir>c:\cygwin\bin\find . -type f
./myrealfile
./mysymlink
Z:\users\j\s\h\jsharper\myafsdir>c:\cygwin\bin\find . -type l
Z:\users\j\s\h\jsharper\myafsdir>
(sorry about the html email – I’m hoping it will prove more readable)
Jason