From: Junio C Hamano <gitster@pobox.com>
To: Taylor Blau <me@ttaylorr.com>
Cc: git@vger.kernel.org, vdye@github.com, jonathantanmy@google.com
Subject: Re: [PATCH v2 0/4] pack-objects: fix a pair of MIDX bitmap-related races
Date: Tue, 24 May 2022 14:38:39 -0700 [thread overview]
Message-ID: <xmqqfskyfw68.fsf@gitster.g> (raw)
In-Reply-To: <cover.1653418457.git.me@ttaylorr.com> (Taylor Blau's message of "Tue, 24 May 2022 14:54:18 -0400")
Taylor Blau <me@ttaylorr.com> writes:
> verbatim reuse (c.f., `write_reused_pack_verbatim()`).
Unlike "e.g." and "i.e.", I think these should all be "cf." (there
are many others).
> + This patch handles the "preferred" pack (c.f., the section
> + "multi-pack-index reverse indexes" in
> + Documentation/technical/pack-format.txt) specially, since pack-objects
> + depends on reusing exact chunks of that pack verbatim in
> + reuse_partial_packfile_from_bitmap(). So if that pack cannot be loaded,
> + the utility of a bitmap is significantly diminished.
It explains why we care about the "preferred" pack, which is a nice
clarification. It hints that the other packs do not matter as much,
and it is clearly stated that how they are handled is ...
> + Similar to dc1daacdcc, we could technically just add this check in
> + reuse_partial_packfile_from_bitmap(), since it's possible to use a MIDX
> + .bitmap without needing to open any of its packs. But it's simpler to do
> + the check as early as possible, covering all direct uses of the
> + preferred pack. Note that doing this check early requires us to call
> + prepare_midx_pack() early, too, so move the relevant part of that loop
> + from load_reverse_index() into open_midx_bitmap_1().
> +
> + Subsequent patches handle the non-preferred packs in a slightly
> + different fashion.
... left for later steps.
Excellent write-up.
> Signed-off-by: Taylor Blau <me@ttaylorr.com>
>
> @@ pack-bitmap.c: static int open_midx_bitmap_1(struct bitmap_index *bitmap_git,
> +
> + preferred = bitmap_git->midx->packs[midx_preferred_pack(bitmap_git)];
> + if (!is_pack_valid(preferred)) {
> -+ close(fd);
> + warning(_("preferred pack (%s) is invalid"),
> + preferred->pack_name);
> + goto cleanup;
> 2: 9adf6e1341 < -: ---------- builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects
> -: ---------- > 2: 2719d33f32 builtin/pack-objects.c: avoid redundant NULL check
> -: ---------- > 3: cdc3265ec2 builtin/pack-objects.c: ensure included `--stdin-packs` exist
> -: ---------- > 4: 3fc3a95517 builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects
next prev parent reply other threads:[~2022-05-24 21:38 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-13 16:23 [PATCH 0/2] pack-objects: fix a pair of MIDX bitmap-related races Taylor Blau
2022-05-13 16:23 ` [PATCH 1/2] pack-bitmap: check preferred pack validity when opening MIDX bitmap Taylor Blau
2022-05-13 18:19 ` Junio C Hamano
2022-05-13 19:55 ` Taylor Blau
2022-05-13 16:23 ` [PATCH 2/2] builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects Taylor Blau
2022-05-13 23:06 ` Jonathan Tan
2022-05-14 13:17 ` Taylor Blau
2022-05-16 6:07 ` Jonathan Tan
2022-05-14 13:34 ` Taylor Blau
2022-05-16 6:11 ` Jonathan Tan
2022-05-24 18:54 ` [PATCH v2 0/4] pack-objects: fix a pair of MIDX bitmap-related races Taylor Blau
2022-05-24 18:54 ` [PATCH v2 1/4] pack-bitmap.c: check preferred pack validity when opening MIDX bitmap Taylor Blau
2022-05-24 19:36 ` Ævar Arnfjörð Bjarmason
2022-05-24 21:38 ` Taylor Blau
2022-05-24 21:51 ` Ævar Arnfjörð Bjarmason
2022-05-24 18:54 ` [PATCH v2 2/4] builtin/pack-objects.c: avoid redundant NULL check Taylor Blau
2022-05-24 21:44 ` Junio C Hamano
2022-05-25 0:11 ` Taylor Blau
2022-05-24 18:54 ` [PATCH v2 3/4] builtin/pack-objects.c: ensure included `--stdin-packs` exist Taylor Blau
2022-05-24 19:46 ` Ævar Arnfjörð Bjarmason
2022-05-24 21:33 ` Taylor Blau
2022-05-24 21:49 ` Ævar Arnfjörð Bjarmason
2022-05-24 22:03 ` Junio C Hamano
2022-05-25 0:14 ` Taylor Blau
2022-05-26 19:21 ` Victoria Dye
2022-05-26 20:05 ` Taylor Blau
2022-05-24 18:54 ` [PATCH v2 4/4] builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects Taylor Blau
2022-05-24 21:38 ` Junio C Hamano [this message]
2022-05-25 0:16 ` [PATCH v2 0/4] pack-objects: fix a pair of MIDX bitmap-related races Taylor Blau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqfskyfw68.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=jonathantanmy@google.com \
--cc=me@ttaylorr.com \
--cc=vdye@github.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.