From: Taylor Blau <me@ttaylorr•com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail•com>
Cc: Taylor Blau <me@ttaylorr•com>, git@vger•kernel.org, peff@peff•net
Subject: Re: [PATCH 3/4] midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
Date: Thu, 9 Sep 2021 12:23:20 -0400 [thread overview]
Message-ID: <YTo0+FzYjpYG7B5I@nand.local> (raw)
In-Reply-To: <8735qdeoa0.fsf@evledraar.gmail.com>
On Thu, Sep 09, 2021 at 05:50:47PM +0200, Ævar Arnfjörð Bjarmason wrote:
> >> I may have discovered a subtle bug in the process, in
> >> cmd_multi_pack_index_repack() we end up calling write_midx_internal(),
> >> which cares about MIDX_WRITE_REV_INDEX, but only
> >> cmd_multi_pack_index_write() will set that flag, both before & after my
> >> patch. Are we using the wrong flags during repack as a result?
> >
> > Only the `write` sub-command would ever want to set that flag, since we
> > don't support writing a bitmap after `expire`. So that part seems right,
> > but perhaps there is a another problem you're seeing?
>
> In midx_repack() we'll call write_midx_internal(). That function gets
> the "flags" we pass to midx_repack() and will check
> MIDX_WRITE_REV_INDEX. I haven't checked whether we actually reach that,
> but that's what I was wondering, i.e. whether the repack routine would
> "write" when repacking, and we missed the flag option there.
I don't think it's a problem in practice. We would never have
MIDX_WRITE_REV_INDEX set when executing cmd_multi_pack_index_repack(),
(and the same is true for all other subcommands besides `write`) because
the default value for flags is just MIDX_PROGRESS (if isatty(2)), and we
only add the WRITE_REV_INDEX bit from within the write handler.
More generally, that is to say "we only support writing a bitmap from
the `write` sub-command". There is no reason that we couldn't lift this
limitation and support writing a bitmap on the resulting MIDX after
`expire` or `repack` we just haven't done so.
But I don't see any problems with not getting the right flags, etc.
Thanks,
Taylor
next prev parent reply other threads:[~2021-09-09 16:23 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-07 21:17 [PATCH 0/4] pack-bitmap: permute existing namehash values Taylor Blau
2021-09-07 21:17 ` [PATCH 1/4] t/helper/test-bitmap.c: add 'dump-hashes' mode Taylor Blau
2021-09-08 1:37 ` Ævar Arnfjörð Bjarmason
2021-09-08 2:24 ` Taylor Blau
2021-09-07 21:17 ` [PATCH 2/4] pack-bitmap.c: propagate namehash values from existing bitmaps Taylor Blau
2021-09-07 21:18 ` [PATCH 3/4] midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps Taylor Blau
2021-09-08 1:40 ` Ævar Arnfjörð Bjarmason
2021-09-08 2:28 ` Taylor Blau
2021-09-09 8:18 ` Ævar Arnfjörð Bjarmason
2021-09-09 9:34 ` Ævar Arnfjörð Bjarmason
2021-09-09 14:55 ` Taylor Blau
2021-09-09 15:50 ` Ævar Arnfjörð Bjarmason
2021-09-09 16:23 ` Taylor Blau [this message]
2021-09-09 14:47 ` Taylor Blau
2021-09-13 0:38 ` Junio C Hamano
2021-09-14 1:15 ` Taylor Blau
2021-09-07 21:18 ` [PATCH 4/4] t5326: test propagating hashcache values Taylor Blau
2021-09-08 1:46 ` Ævar Arnfjörð Bjarmason
2021-09-08 2:30 ` Taylor Blau
2021-09-17 8:56 ` Ævar Arnfjörð Bjarmason
2021-09-17 17:32 ` Taylor Blau
2021-09-17 19:22 ` Ævar Arnfjörð Bjarmason
2021-09-13 0:46 ` Junio C Hamano
2021-09-14 1:12 ` Taylor Blau
2021-09-14 2:05 ` Junio C Hamano
2021-09-14 5:11 ` Taylor Blau
2021-09-14 5:17 ` Taylor Blau
2021-09-14 5:27 ` Jeff King
2021-09-14 5:31 ` Taylor Blau
2021-09-14 5:23 ` Jeff King
2021-09-14 5:49 ` Junio C Hamano
2021-09-14 22:05 ` [PATCH v2 0/7] pack-bitmap: permute existing namehash values Taylor Blau
2021-09-14 22:06 ` [PATCH v2 1/7] t/helper/test-bitmap.c: add 'dump-hashes' mode Taylor Blau
2021-09-14 22:06 ` [PATCH v2 2/7] pack-bitmap.c: propagate namehash values from existing bitmaps Taylor Blau
2021-09-14 22:06 ` [PATCH v2 3/7] midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps Taylor Blau
2021-09-14 22:06 ` [PATCH v2 4/7] p5326: create missing 'perf-tag' tag Taylor Blau
2021-09-16 22:36 ` Jeff King
2021-09-17 4:14 ` Taylor Blau
2021-09-14 22:06 ` [PATCH v2 5/7] p5326: don't set core.multiPackIndex unnecessarily Taylor Blau
2021-09-16 22:38 ` Jeff King
2021-09-14 22:06 ` [PATCH v2 6/7] p5326: generate pack bitmaps before writing the MIDX bitmap Taylor Blau
2021-09-16 22:45 ` Jeff King
2021-09-17 4:20 ` Taylor Blau
2021-09-14 22:06 ` [PATCH v2 7/7] t5326: test propagating hashcache values Taylor Blau
2021-09-16 22:49 ` Jeff King
2021-09-16 22:52 ` [PATCH v2 0/7] pack-bitmap: permute existing namehash values Jeff King
2021-09-17 21:21 ` [PATCH v3 " Taylor Blau
2021-09-17 21:21 ` [PATCH v3 1/7] t/helper/test-bitmap.c: add 'dump-hashes' mode Taylor Blau
2021-09-17 21:21 ` [PATCH v3 2/7] pack-bitmap.c: propagate namehash values from existing bitmaps Taylor Blau
2021-09-17 21:21 ` [PATCH v3 3/7] midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps Taylor Blau
2021-09-17 21:21 ` [PATCH v3 4/7] p5326: create missing 'perf-tag' tag Taylor Blau
2021-09-17 21:21 ` [PATCH v3 5/7] p5326: don't set core.multiPackIndex unnecessarily Taylor Blau
2021-09-17 21:21 ` [PATCH v3 6/7] p5326: generate pack bitmaps before writing the MIDX bitmap Taylor Blau
2021-09-17 21:21 ` [PATCH v3 7/7] t5326: test propagating hashcache values Taylor Blau
2021-09-17 22:12 ` [PATCH v3 0/7] pack-bitmap: permute existing namehash values Jeff King
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=YTo0+FzYjpYG7B5I@nand.local \
--to=me@ttaylorr$(echo .)com \
--cc=avarab@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=peff@peff$(echo .)net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox