Re: [RFC v2 1/5] zram: remove zram_page_end_io function

From: Christoph Hellwig
Date: Thu Mar 23 2023 - 06:39:06 EST


On Wed, Mar 22, 2023 at 02:50:09PM +0100, Pankaj Raghav wrote:
> - if (!parent)
> - bio->bi_end_io = zram_page_end_io;
> - else
> + if (parent)

I don't think a non-chained bio without and end_io handler can work.
This !parent case seems to come from writeback_store, and as far as
I can tell is broken already in the current code as it just fires
off an async read without ever waiting for it, using an on-stack bio
just to make things complicated.

The bvec reading code in zram is a mess, but I have an idea how
to clean it up with a little series that should also help with
this issue.