Hello, I have 3 boxes, one with Win2003, one with Win2000 (with both SFU and Cygwin installed), one with Linux 2.6.9+CIFS1.34. Win2003 serves a share, say \\win2003\tmp. I mount this share on Linux and on Win2000. On the Linux box, if I create a file on the mounted share and then make 2 further hardlinks to it in the same directory, and then type "ls -lin", I get a link count of 3 on the source file and a link count of 1 on the destination files. Also the inode number is different for all 3 files. After changing the directory to anything dfferent and then back, and redoing "ls -lin", I get a link count of 1 for each of the 3 files, again with different inode numbers. The hardlinks are set up correctly, however, writing to one of it is reflected in the others. And if I change to the \\win2003\tmp mount on the Win2000 box and typing "ls -lin" from Cygwin or from SFU, they show the correct link count and the same inode number for the 3 links. Here again what I did: On Linux: $ mount -t cifs //win2003/tmp /mnt $ cd /mnt $ rm file* $ echo qwert > file1 $ ls -lin file* 5615 -rw-r--r-- 1 0 0 6 2005-05-28 21:56 file1 $ ln file1 file2 $ ls -lin file* 5615 -rw-r--r-- 1 0 0 6 2005-05-28 21:56 file1 5636 -rwxrwSrwt 1 0 0 6 2005-05-28 21:56 file2 $ ln file1 file3 $ ls -lin file* 5615 -rw-r--r-- 3 0 0 6 2005-05-28 21:56 file1 5636 -rwxrwSrwt 1 0 0 6 2005-05-28 21:56 file2 5637 -rwxrwSrwt 1 0 0 6 2005-05-28 21:56 file3 $ echo 22222 >> file1 $ cat file1 qwert 22222 $ cat file2 qwert 22222 $ cat file3 qwert 22222 $ cd / $ cd /mnt $ ls -lin file* 5615 -rw-r--r-- 1 0 0 12 2005-05-28 21:58 file1 5636 -rwxrwSrwt 1 0 0 12 2005-05-28 21:58 file2 5637 -rwxrwSrwt 1 0 0 12 2005-05-28 21:58 file3 Then on Windows 2000: C:\>net use T: \\win2003\tmp C:\>T: T:\>ls -lin file* <---- from Interix 60977 -rwx------+ 1 131616 1049089 12 May 28 21:58 file1 60977 -rwx------+ 1 131616 1049089 12 May 28 21:58 file2 60977 -rwx------+ 1 131616 1049089 12 May 28 21:58 file3 Within Cygwin: $ ls -lin file* 12771340543265474077 -rw-r--r-- 3 400 401 12 May 28 21:58 file1 12771340543265474078 -rw-r--r-- 3 400 401 12 May 28 21:58 file2 12771340543265474079 -rw-r--r-- 3 400 401 12 May 28 21:58 file3 So both Interix and Cygwin are buggy, too, as Interix shows the same inode numbers, but wrong link count, and Cygwin has the right link count, but different inode numbers. But cifs is more buggy as it shows wrong link count and different inode numbers. Also the permissions are not the same.
Hello, today I found a partly solution to this problem. When mounting with option "serverino" I get the correct inode numbers (same as Interix reports). Link count is still wrong, however. It's the same behaviour as with Interix in this regard.
*** This bug has been marked as a duplicate of 2823 ***