>Previously, iomap_readpage_iter() returning 0 would break out of the loops of >iomap_readahead_iter(), which is what iomap_read_inline_data() relies on. > >However, commit d9dc477ff6a2 ("iomap: advance the iter directly on buffered >read") changes this behavior without calling iomap_iter_advance(), which >causes EROFS to get stuck in iomap_readpage_iter(). > >It seems iomap_iter_advance() cannot be called in >iomap_read_inline_data() because of the iomap_write_begin() path, so handle >this in iomap_readpage_iter() instead. > >Reported-by: Bo Liu <liubo03@xxxxxxxxxx> >Fixes: d9dc477ff6a2 ("iomap: advance the iter directly on buffered read") >Cc: Brian Foster <bfoster@xxxxxxxxxx> >Cc: Christoph Hellwig <hch@xxxxxx> >Cc: "Darrick J. Wong" <djwong@xxxxxxxxxx> >Cc: Christian Brauner <brauner@xxxxxxxxxx> >Signed-off-by: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx> Tested-by: Bo Liu <liubo03@xxxxxxxxxx>
Attachment:
smime.p7s
Description: S/MIME cryptographic signature