On Tue, 4 Apr 2023 08:06:55 -0700 Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Mon, Apr 03, 2023 at 03:22:17PM +0200, Pankaj Raghav wrote: > > zram_bvec_read() is called with the bio set to NULL only in > > writeback_store() function. When a writeback is triggered, > > zram_bvec_read() is called only if ZRAM_WB flag is not set. That will > > result only calling zram_read_from_zspool() in __zram_bvec_read(). > > > > rw_page callback used to call read_from_bdev_async with a NULL parent > > bio but that has been removed since commit 3222d8c2a7f8 > > ("block: remove ->rw_page"). > > > > We can now safely always call bio_chain() as read_from_bdev_async() will > > be called with a parent bio set. A WARN_ON_ONCE is added if this function > > is called with parent set to NULL. > > I'm pretty sure this is wrong. Thanks, I'll drop this v2 series. > I've now sent a series to untangle > and fix up the zram I/O path, which should address the underlying > issue here. I can't find that series. > It will obviously conflict with this patch, so maybe the best thing is > to get the other page_endio removals into their respective maintainer > trees, and then just do the final removal of the unused function after > -rc1.