On Mon, Feb 21, 2022 at 09:20:02AM +0100, Miklos Szeredi wrote: [digging through the old piles of mail] Eyes-watering control flow in do_linkat() aside (it's bound to rot; too much of it won't get any regression testing and it's convoluted enough to break easily), the main problem I have with that is the DoS potential. You have a system-wide lock, and if it's stuck you'll get every damn rename(2) stuck as well. Sure, having it taken only upon the race with rename() (or unlink(), for that matter) make it harder to get stuck with lock held, but that'll make the problem harder to reproduce and debug...