Hardlinks

On Unix-based systems, it's possible to encounter multiple files with the same inode. The most common case of this is a hardlink. async is agnostic as to whether two files with multiple inodes are hardlinks or if they are actually different. It assumes that directories have unique inodes.

Handling Hardlinks

  • One or more hardlinks at the source become regular files at the destination.
  • In continuous mode, if a file with multiple links changes, only that file is replicated at the destination (even though all links at the source changed).
  • In scan mode (one-time and continuous startup), all files for that link are replicated at the destination.

Handling Moves in Scan Mode

  • If a new file has only one link, async checks whether it is a move.
  • If a new file has two or more links, async does not check whether it is a move (regardless of whether the other links are inside or outside the sync directory).
  • For directories, async checks whether or not it is a move.

Handling Moves in Continuous Mode

For all files and directories, notifications tell async the old and new paths; thus, a move is recognized in all cases.