It was decided to remove the page_endio() as per the previous RFC discussion[1] of this series and move that functionality into the caller itself. One of the side benefit of doing that is the callers have been modified to directly work on folios as page_endio() already worked on folios. mpage changes were tested with a simple boot testing. zram and orangefs is only build tested. No functional changes were introduced as a part of this AFAIK. Open questions: - Willy pointed out that the calls to folio_set_error() and folio_clear_uptodate() are not needed anymore in the read path when an error happens[2]. I still don't understand 100% why they aren't needed anymore as I see those functions are still called in iomap. It will be good to put that rationale as a part of the commit message. [1] https://lore.kernel.org/linux-mm/ZBHcl8Pz2ULb4RGD@xxxxxxxxxxxxx/ [2] https://lore.kernel.org/linux-mm/ZBSH6Uq6IIXON%2Frh@xxxxxxxxxxxxxxxxxxxx/ Pankaj Raghav (5): zram: remove zram_page_end_io function orangefs: use folios in orangefs_readahead mpage: split bi_end_io callback for reads and writes mpage: use folios in bio end_io handler filemap: remove page_endio() drivers/block/zram/zram_drv.c | 13 +---------- fs/mpage.c | 44 ++++++++++++++++++++++++++++------- fs/orangefs/inode.c | 9 +++---- include/linux/pagemap.h | 2 -- mm/filemap.c | 30 ------------------------ 5 files changed, 42 insertions(+), 56 deletions(-) -- 2.34.1