Jeff King [off-list ref] writes:
So I wanted to know whether there were any code paths that failed to do
so, and just blindly rely on the lazy-open. Finding the races is
inherently hard, because you only catch them when somebody else is doing
a repack. But if we just _remove_ the lazy-load, then it becomes easy to
catch anybody relying on it. Like:
...
Clever; I like it.
In such a case, we are relying on the lazy-load (and we _are_ racy!).
But the patch above would punish people on low-descriptor systems. It's
better to have an unlikely race and complete the request than to fail
consistently. :-/
For people who are running high-traffic servers, they just need to make
sure their file descriptor limit is reasonably high to avoid the race.
Thanks for an illuminating backstory for the patch.