This errno, "Cross-device link", simply means that you attempted to link(2) a file with a path that is not on the same mount point (device). You cannot do this because a hard link is just a directory entry which points to an already-used inode, and inodes are unique across filesystems. This error will also be returned if an attempt is made to create a FFS snapshot not on the same filesystem that it is mirroring.