git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/4] repack tempfile-cleanup signal deadlock
@ 2022-10-21 21:41 Jeff King
  2022-10-21 21:42 ` [PATCH 1/4] repack: convert "names" util bitfield to array Jeff King
                   ` (4 more replies)
  0 siblings, 5 replies; 34+ messages in thread
From: Jeff King @ 2022-10-21 21:41 UTC (permalink / raw)
  To: git; +Cc: Jan Pokorný, Taylor Blau

Here's a series which should fix the deadlock Jan reported in:

  https://lore.kernel.org/git/00af268377fb7c3b8efd059482ee7449b71f48b1.camel@fnusa.cz/

I split it into a new thread since the problem here is distinct from the
one fixed in that thread (but they're indeed the same class of problem).
The fix is along the same lines as what I showed there, switching to
using the tempfile API. But this has the cleanups I noted there, plus
nice things like commit messages and tests.

As I noted there, pack-objects is still happy to leave its internal
tempfiles sitting around. I didn't tackle that in this series, since it
really is orthogonal, at least in terms of implementation.

I've cc'd Taylor for review. The main problem here goes all the way back
to a1bbc6c017 (repack: rewrite the shell script in C, 2013-09-15), but
the solution is enabled by your more recent populate_pack_ext(), etc.

  [1/4]: repack: convert "names" util bitfield to array
  [2/4]: repack: populate extension bits incrementally
  [3/4]: repack: use tempfiles for signal cleanup
  [4/4]: repack: drop remove_temporary_files()

 builtin/repack.c  | 78 ++++++++++++++---------------------------------
 t/t7700-repack.sh | 16 ++++++++++
 2 files changed, 39 insertions(+), 55 deletions(-)

-Peff

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2022-10-23 21:48 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-21 21:41 [PATCH 0/4] repack tempfile-cleanup signal deadlock Jeff King
2022-10-21 21:42 ` [PATCH 1/4] repack: convert "names" util bitfield to array Jeff King
2022-10-21 22:19   ` Junio C Hamano
2022-10-21 23:10   ` Taylor Blau
2022-10-21 23:29     ` Jeff King
2022-10-21 23:35       ` Junio C Hamano
2022-10-21 23:43         ` Jeff King
2022-10-21 23:51           ` Junio C Hamano
2022-10-22  0:12             ` Jeff King
2022-10-21 21:43 ` [PATCH 2/4] repack: populate extension bits incrementally Jeff King
2022-10-21 23:20   ` Taylor Blau
2022-10-21 23:34     ` Jeff King
2022-10-21 23:41       ` Taylor Blau
2022-10-21 23:42       ` Jeff King
2022-10-21 21:46 ` [PATCH 3/4] repack: use tempfiles for signal cleanup Jeff King
2022-10-21 22:30   ` Junio C Hamano
2022-10-21 23:24     ` Jeff King
2022-10-21 23:45       ` Taylor Blau
2022-10-22  0:12         ` Jeff King
2022-10-22  0:11       ` Jeff King
2022-10-21 21:48 ` [PATCH 4/4] repack: drop remove_temporary_files() Jeff King
2022-10-21 23:51   ` Taylor Blau
2022-10-22  0:21 ` [PATCH v2 0/5] repack tempfile-cleanup signal deadlock Jeff King
2022-10-22  0:21   ` [PATCH v2 1/5] repack: convert "names" util bitfield to array Jeff King
2022-10-22  0:21   ` [PATCH v2 2/5] repack: populate extension bits incrementally Jeff King
2022-10-22  0:21   ` [PATCH v2 3/5] repack: expand error message for missing pack files Jeff King
2022-10-22  0:21   ` [PATCH v2 4/5] repack: use tempfiles for signal cleanup Jeff King
2022-10-22 20:35     ` Jeff King
2022-10-23  0:14       ` Junio C Hamano
2022-10-23 17:00         ` Jeff King
2022-10-23 18:08           ` Junio C Hamano
2022-10-23 20:55             ` Jeff King
2022-10-23 21:48               ` Junio C Hamano
2022-10-22  0:21   ` [PATCH v2 5/5] repack: drop remove_temporary_files() Jeff King

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).