Btrfs stores backrefs (the filename, directory inode number) from theinode to the directory.

In the current format that's a pretty low limit on how many of these wecan store for hard links to the same file in the same directory, butbasically no limit on how many backrefs we can store to the same filefrom different directories.

Mark Fasheh was working on a patch to change the backrefs to make thelinks-from-the-same-dir case consistent with thelinks-from-different-dir case. With today's code, we'll go -EMLINK atdifferent times depending on the length of the file name and what linksyou've already made.

> Incidentally, when could fixup_low_keys()> return non-zero? I don't see any candidates for that in there... Chris?

A long time ago this one used to cow blocks and so it needed an errorreturn. I think Jeff Mahoney has a patch queued up to make it (amongmany others) void.