Re: linux-next: manual merge of the refactor-heap tree with the block tree

From: Kuan-Wei Chiu
Date: Thu May 09 2024 - 18:44:48 EST


On Thu, May 09, 2024 at 03:58:57PM -0400, Kent Overstreet wrote:
> On Thu, May 09, 2024 at 03:27:45PM +1000, Stephen Rothwell wrote:
> > Hi all,
> >
> > Today's linux-next merge of the refactor-heap tree got conflicts in:
> >
> > drivers/md/bcache/bset.c
> > drivers/md/bcache/bset.h
> > drivers/md/bcache/btree.c
> > drivers/md/bcache/writeback.c
> >
> > between commit:
> >
> > 3a861560ccb3 ("bcache: fix variable length array abuse in btree_iter")
> >
> > from the block tree and commit:
> >
> > afa5721abaaa ("bcache: Remove heap-related macros and switch to generic min_heap")
> >
> > from the refactor-heap tree.
> >
> > Ok, these conflicts are too extensive, so I am dropping the refactor-heap
> > tree for today. I suggest you all get together and sort something out.
>
> Coli and Kuan, you guys will need to get this sorted out quick if we
> want refactor-heap to make the merge window

Hi Coli and Kent,

If I understand correctly, the reported bug is because we attempted to
point (heap)->data to a dynamically allocated memory , but at that time
(heap)->data was not a regular pointer but a fixed size array with a
length of MAX_BSETS.

In my refactor heap patch series, I introduced a preallocated array and
decided in min_heap_init() whether the data pointer should point to an
incoming pointer or to the preallocated array. Therefore, I am
wondering if my patch might have unintentionally fixed this bug?

I am unsure how to reproduce the reported issue. Could you assist me in
verifying whether my assumption is correct?

Regards,
Kuan-Wei