[PATCH 0/6] Make block_read_full_page synchronous

From: Matthew Wilcox (Oracle)
Date: Thu Oct 22 2020 - 17:22:37 EST


This patchset does I/Os in larger chunks, if the blocks are adjacent.
More importantly, it returns the actual error from ->readpage for
filesystems which use block_read_full_page(). Unless fscrypt returns
an error, in which case it turns into EIO because it has to roundtrip
through bi_status.

I don't have a system with fscrypt enabled, so I'd appreciate some
testing from the fscrypt people.

Matthew Wilcox (Oracle) (6):
block: Add blk_completion
fs: Return error from block_read_full_page
fs: Convert block_read_full_page to be synchronous
fs: Hoist fscrypt decryption to bio completion handler
fs: Turn decrypt_bh into decrypt_bio
fs: Convert block_read_full_page to be synchronous with fscrypt
enabled

block/blk-core.c | 61 +++++++++
fs/buffer.c | 304 ++++++++++++++++++++++----------------------
include/linux/bio.h | 11 ++
3 files changed, 226 insertions(+), 150 deletions(-)

--
2.28.0