Merge branch 'jh/loose-object-dirs-creation-race'
commit86cd8dc8e7b04e143bff4e61a7a036a989775507
authorJunio C Hamano <gitster@pobox.com>
Thu, 5 Dec 2013 20:54:14 +0000 (5 12:54 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Dec 2013 20:54:14 +0000 (5 12:54 -0800)
tree43b862f55627ffe883cae37a6f5e65904398cdf9
parent5bb62059f21ebe8a38226f6fbe76f0f9b6ad65f7
parentb2476a60bd92d89d85f16c3b614da54db2ebee1b
Merge branch 'jh/loose-object-dirs-creation-race'

When two processes created one loose object file each, which fell
into the same fan-out bucket that previously did not have any
objects, they both tried to do an equivalent of

    mkdir .git/objects/$fanout &&
    chmod $shared_perm .git/objects/$fanout

before writing into their file .git/objects/$fanout/$remainder,
one of which could have failed unnecessarily when the second
invocation of mkdir found that the directory already has been
created by the first one.

* jh/loose-object-dirs-creation-race:
  sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
sha1_file.c