Re: [PATCH v2 15/19] midx: support reading incremental MIDX chains

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 01, 2024 at 06:40:26AM -0400, Jeff King wrote:
> On Wed, Jul 17, 2024 at 05:12:41PM -0400, Taylor Blau wrote:
>
> > Now that the MIDX machinery's internals have been taught to understand
> > incremental MIDXs over the previous handful of commits, the MIDX
> > machinery itself can begin reading incremental MIDXs.
> >
> > (Note that while the on-disk format for incremental MIDXs has been
> > defined, the writing end has not been implemented. This will take place
> > in the commit after next.)
> >
> > The core of this change involves following the order specified in the
> > MIDX chain and opening up MIDXs in the chain one-by-one, adding them to
> > the previous layer's `->base_midx` pointer at each step.
>
> This makes it sound like reading a chain file of:
>
>   multi-pack-index-$H1.midx
>   multi-pack-index-$H2.midx
>   multi-pack-index-$H3.midx
>
> will have H1's base_midx pointing to H2. But the design document from
> the first patch made me think it went the other way (H1 is the oldest
> midx, then H2, then H3). For many things the ordering doesn't matter,
> but I'd think the pseudo-pack order would go from the root of the
> base_midx walk to the tip. That is, the base_midx pointers go in reverse
> chronological order.
>
> Looking at the code, I think it's doing what I expect. Not sure if I'm
> mis-reading what you wrote above, or if it's wrong.

The patch message is just plain wrong here. I switched the sentence
beginning with "The core of this change involves [...]" to add "in
reverse" to clarify what's going on here.

> > [...]
>
> The code itself all looked reasonable. There are a scary number of spots
> where we have to do global/local position conversion. It's hard to know
> if you got them all.

Agreed. If you have ideas to make it less scary, do let me know ;-).

Thanks,
Taylor




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux