Assume you have a filename/directory name, whatever, which is hard linked to inode 6400. Alas, the file/directory actually exists (completely intact, and maybe it only lives in a single data block, for the sake of simplicity), but it has been marked as unallocated and moved to inode 3100.
Or maybe a file/directory has been removed with rm and there is no hard link to point to it, but I'd like to create one and mark the inode as allocated again.
Is there a tool available to do either of these things?
Bad answers to this question are anything involving really broad tools like fsck/e2fsck, and testdisk.
Good answers take the form of "try running awesomeln -r oldname.txt -n filename.txt -i 3100" or "No such tool exists, as far as I am aware, and I am aware of a lot of things because I've been working in digital forensics for ten years. Why don't you go write one?"