Hi Linus, Please pull this branch containing a single iomap bug fix and a cleanup for 5.16-rc2. The bug fix changes how iomap deals with reading from an inline data region -- whereas the current code (incorrectly) lets the iomap read iter try for more bytes after reading the inline region (which zeroes the rest of the page!) and hopes the next iteration terminates, we surveyed the inlinedata implementations and realized that all inlinedata implementations also require that the inlinedata region end at EOF, so we can simply terminate the read. The second patch documents these assumptions in the code so that they're not subtle implications anymore, and cleans up some of the grosser parts of that function. The branch merges cleanly against upstream as of a few minutes ago. Please let me know if anything else strange happens during the merge process. --D The following changes since commit 136057256686de39cc3a07c2e39ef6bc43003ff6: Linux 5.16-rc2 (2021-11-21 13:47:39 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/iomap-5.16-fixes-1 for you to fetch changes up to 5ad448ce2976f829d95dcae5e6e91f6686b0e4de: iomap: iomap_read_inline_data cleanup (2021-11-24 10:15:47 -0800) ---------------------------------------------------------------- Fixes for 5.16-rc2: - Fix an accounting problem where unaligned inline data reads can run off the end of the read iomap iterator. iomap has historically required that inline data mappings only exist at the end of a file, though this wasn't documented anywhere. - Document iomap_read_inline_data and change its return type to be appropriate for the information that it's actually returning. ---------------------------------------------------------------- Andreas Gruenbacher (2): iomap: Fix inline extent handling in iomap_readpage iomap: iomap_read_inline_data cleanup fs/iomap/buffered-io.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-)