From: Taylor Blau <me@ttaylorr.com> To: Teng Long <dyroneteng@gmail.com> Cc: git@vger.kernel.org, avarab@gmail.com, derrickstolee@github.com, tenglong.tl@alibaba-inc.com Subject: Re: [PATCH v1 1/3] pack-bitmap.c: use "ret" in "open_midx_bitmap()" Date: Thu, 24 Mar 2022 15:11:08 -0400 [thread overview] Message-ID: <YjzCTLLDCby+kJrZ@nand.local> (raw) In-Reply-To: <3048b4dd2982932fa11ba8393895fa33a00a5b58.1648119652.git.dyroneteng@gmail.com> On Thu, Mar 24, 2022 at 07:43:59PM +0800, Teng Long wrote: > diff --git a/pack-bitmap.c b/pack-bitmap.c > index 9c666cdb8b..931219adf0 100644 > --- a/pack-bitmap.c > +++ b/pack-bitmap.c > @@ -494,15 +494,18 @@ static int open_pack_bitmap(struct repository *r, > static int open_midx_bitmap(struct repository *r, > struct bitmap_index *bitmap_git) > { > + int ret = -1; > struct multi_pack_index *midx; > > assert(!bitmap_git->map); > > for (midx = get_multi_pack_index(r); midx; midx = midx->next) { > - if (!open_midx_bitmap_1(bitmap_git, midx)) > - return 0; > + if (!open_midx_bitmap_1(bitmap_git, midx)) { > + ret = 0; > + break; > + } > } > - return -1; > + return ret; This all looks like good clean-up to me, and it indeed preserves the behavior before and after this patch is applied. But thinking about some of my comments on patch 2/3 here, I think that we don't want to break out of that loop until we have visited both the MIDX in our repository, as well as any alternates (along with _their_ alternates, recursively). That _is_ a behavior change with respect to the existing implementation on master, but I think that what's on master is wrong to stop after looking at the first MIDX bitmap. At least, it's wrong in the same sense of: "we will only load _one_ of these MIDX bitmaps, so if there is more than one to choose from, the caller is mistaken". I think instead we'd want to do something like this on top: --- 8< --- diff --git a/pack-bitmap.c b/pack-bitmap.c index 410020c4d3..0c6640b0f6 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -500,10 +500,8 @@ static int open_midx_bitmap(struct repository *r, assert(!bitmap_git->map); for (midx = get_multi_pack_index(r); midx; midx = midx->next) { - if (!open_midx_bitmap_1(bitmap_git, midx)) { + if (!open_midx_bitmap_1(bitmap_git, midx)) ret = 0; - break; - } } return ret; } --- >8 --- Thanks, Taylor
next prev parent reply other threads:[~2022-03-24 19:11 UTC|newest] Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-24 11:43 [PATCH v1 0/3] trace2 output for bitmap decision path Teng Long 2022-03-24 11:43 ` [PATCH v1 1/3] pack-bitmap.c: use "ret" in "open_midx_bitmap()" Teng Long 2022-03-24 19:11 ` Taylor Blau [this message] 2022-03-28 7:59 ` [PATCH v1 1/3] pack-bitmap.c: use "ret" in "open_midx_bitmap() Teng Long 2022-03-30 2:39 ` Taylor Blau 2022-03-24 11:44 ` [PATCH v1 2/3] pack-bitmap.c: add "break" statement in "open_pack_bitmap()" Teng Long 2022-03-24 18:40 ` Junio C Hamano 2022-03-24 19:06 ` Taylor Blau 2022-03-24 19:03 ` Taylor Blau 2022-03-29 2:49 ` Teng Long 2022-03-30 2:55 ` Taylor Blau 2022-03-30 7:32 ` Teng Long Teng Long 2022-03-30 13:17 ` Ævar Arnfjörð Bjarmason 2022-03-24 11:44 ` [PATCH v1 3/3] bitmap: add trace outputs during open "bitmap" file Teng Long 2022-03-24 18:42 ` Junio C Hamano 2022-03-24 13:22 ` [PATCH v1 0/3] trace2 output for bitmap decision path Ævar Arnfjörð Bjarmason 2022-03-29 7:38 ` Teng Long Teng Long 2022-03-29 8:54 ` Ævar Arnfjörð Bjarmason 2022-04-21 13:26 ` [PATCH v2 0/5] trace2 output for bitmap decision path Teng Long 2022-04-21 13:26 ` [PATCH v2 1/5] pack-bitmap.c: continue looping when first MIDX bitmap is found Teng Long 2022-05-11 21:31 ` Taylor Blau 2022-04-21 13:26 ` [PATCH v2 2/5] pack-bitmap.c: rename "idx_name" to "bitmap_name" Teng Long 2022-05-11 21:31 ` Taylor Blau 2022-04-21 13:26 ` [PATCH v2 3/5] pack-bitmap.c: make warnings more detailed when opening bitmap Teng Long 2022-04-21 17:25 ` Taylor Blau 2022-05-06 9:08 ` Teng Long 2022-04-21 13:26 ` [PATCH v2 4/5] bitmap: add trace2 outputs during open "bitmap" file Teng Long 2022-04-21 15:51 ` Ævar Arnfjörð Bjarmason 2022-05-06 11:27 ` Teng Long 2022-05-06 11:53 ` Teng Long 2022-04-21 16:32 ` Jeff Hostetler 2022-05-06 12:43 ` Teng Long 2022-05-10 20:47 ` Jeff Hostetler 2022-04-21 13:26 ` [PATCH v2 5/5] pack-bitmap.c: using error() instead of silently returning -1 Teng Long 2022-04-21 15:41 ` Ævar Arnfjörð Bjarmason 2022-05-06 12:55 ` Teng Long 2022-06-12 7:44 ` [PATCH v3 0/5] Teng Long 2022-06-12 7:44 ` [PATCH v3 1/5] pack-bitmap.c: continue looping when first MIDX bitmap is found Teng Long 2022-06-12 7:44 ` [PATCH v3 2/5] pack-bitmap.c: rename "idx_name" to "bitmap_name" Teng Long 2022-06-12 7:44 ` [PATCH v3 3/5] pack-bitmap.c: make warnings support i18N when opening bitmap Teng Long 2022-06-12 7:44 ` [PATCH v3 4/5] pack-bitmap.c: using error() instead of silently returning -1 Teng Long 2022-06-14 1:15 ` Taylor Blau 2022-06-20 13:17 ` Teng Long 2022-06-12 7:44 ` [PATCH v3 5/5] bitmap: add trace2 outputs during open "bitmap" file Teng Long 2022-06-13 20:59 ` Junio C Hamano 2022-06-20 13:32 ` Teng Long 2022-06-14 1:40 ` Taylor Blau 2022-06-21 6:58 ` Teng Long 2022-06-22 12:51 ` Jeff Hostetler 2022-06-23 9:38 ` Teng Long 2022-06-23 15:14 ` Jeff Hostetler 2022-06-24 8:27 ` [PATCH v3 5/5] bitmap: add trace2 outputs during open "bitmap" Teng Long 2022-06-21 13:25 ` [PATCH v3 0/5] trace2 output for bitmap decision path Teng Long 2022-06-21 13:25 ` [PATCH v3 1/5] pack-bitmap.c: continue looping when first MIDX bitmap is found Teng Long 2022-06-21 13:25 ` [PATCH v3 2/5] pack-bitmap.c: rename "idx_name" to "bitmap_name" Teng Long 2022-06-21 13:25 ` [PATCH v3 3/5] pack-bitmap.c: make warnings support i18N when opening bitmap Teng Long 2022-06-21 13:25 ` [PATCH v3 4/5] pack-bitmap.c: using error() instead of silently returning -1 Teng Long 2022-06-21 13:25 ` [PATCH v3 5/5] bitmap: add trace2 outputs during open "bitmap" file Teng Long 2022-06-22 13:04 ` Jeff Hostetler 2022-06-22 15:12 ` Junio C Hamano
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 List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=YjzCTLLDCby+kJrZ@nand.local \ --to=me@ttaylorr.com \ --cc=avarab@gmail.com \ --cc=derrickstolee@github.com \ --cc=dyroneteng@gmail.com \ --cc=git@vger.kernel.org \ --cc=tenglong.tl@alibaba-inc.com \ --subject='Re: [PATCH v1 1/3] pack-bitmap.c: use "ret" in "open_midx_bitmap()"' \ /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
Code repositories for project(s) associated with this 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).