A single inode number use to represent file in each file system. All hard links based upon inode number.
So linking across file system will lead into confusing references for UNIX or Linux. For example, consider following scenario * File system: /home * Directory: /home/vivek * Hard link: /home/vivek/file2 * Original file: /home/vivek/file1 Now you create a hard link as follows: $ touch file1 $ ln file1 file2 $ ls -l Output: -rw-r--r-- 2 vivek vivek 0 2006-01-30 13:28 file1 -rw-r--r-- 2 vivek vivek 0 2006-01-30 13:28 file2 Now just see inode of both file1 and file2: $ ls -i file1 782263 $ ls -i file2 782263 As you can see inode number is same for hard link file called file2 in inode table under /home file system. Now if you try to create a hard link for /tmp file system it will lead to confusing references for UNIX or Linux file system. Is that a link no. 782263 in the /home or /tmp file system? To avoid this problem UNIX or Linux does not allow creating hard links across file system boundaries. Continue reading rest of the Understanding Linux file system series (this is part VII):

