mbox series

[v3,0/3] remove page_endio() v3

Message ID 20230411122920.30134-1-p.raghav@samsung.com (mailing list archive)
Headers show
Series remove page_endio() v3 | expand

Message

Pankaj Raghav April 11, 2023, 12:29 p.m. UTC
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.

As Christoph is doing ZRAM cleanups[4] which will get rid of
page_endio() function usage, I removed the final patch that removes
page_endio()[5]. I will send it separately after rc-1 once the zram
cleanups are merged.

mpage changes were tested with a simple boot testing and running a fio
workload on ext2 filesystem. orangefs was tested by Mike Marshall
(No code changes since he tested).

Changes since v2:
- Dropped the zram patch
- Dropped the patch that removes page_endio() function from filemap
- Also split mpage_submit_bio into read and write counterparts (Christoph)

Changes since v1:
- Always chain the IO to the parent as it can never be NULL (Minchan)
- Added reviewed and tested by tags

Changes since RFC 2[2]:
- Call bio_put in zram bio end io handler (Still not Acked by hch[3])
- Call folio_set_error in mpage read endio error path (Willy)
- Directly call folio->mapping in mpage write endio error path (Willy)

[1] https://lore.kernel.org/linux-mm/ZBHcl8Pz2ULb4RGD@infradead.org/
[2] https://lore.kernel.org/linux-mm/20230322135013.197076-1-p.raghav@samsung.com/
[3] https://lore.kernel.org/linux-mm/8adb0770-6124-e11f-2551-6582db27ed32@samsung.com/
[4] https://lore.kernel.org/linux-block/20230404150536.2142108-1-hch@lst.de/T/#t
[5] https://lore.kernel.org/lkml/20230403132221.94921-6-p.raghav@samsung.com/

Pankaj Raghav (3):
  orangefs: use folios in orangefs_readahead
  mpage: split submit_bio and bio end_io handler for reads and writes
  mpage: use folios in bio end_io handler

 fs/mpage.c          | 66 +++++++++++++++++++++++++++++++--------------
 fs/orangefs/inode.c |  9 ++++---
 2 files changed, 51 insertions(+), 24 deletions(-)