On Thu, Mar 30, 2023 at 04:16:25PM -0700, Christoph Hellwig wrote: > On Thu, Mar 30, 2023 at 03:51:54PM -0700, Minchan Kim wrote: > > > to remove the call to page_endio() function that unlocks or marks > > > writeback end on the page. > > > > > > Rename the endio handler from zram_page_end_io to zram_read_end_io as > > > the call to page_endio() is removed and to associate the callback to the > > > operation it is used in. > > > > Since zram removed the rw_page and IO comes with bio from now on, > > IIUC, we are fine since every IO will go with chained-IO. Right? > > writeback_store callszram_bvec_read with a NULL bio, that is it just > fires off an async read without any synchronization. It should go under zram_read_from_zspool, not zram_bvec_read_from_bdev. The ZRAM_UNDER_WB and ZRAM_WB under zram_slot_lock should synchronize.