>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 <liub...@inspur.com>
>Fixes: d9dc477ff6a2 ("iomap: advance the iter directly on buffered read")
>Cc: Brian Foster <bfos...@redhat.com>
>Cc: Christoph Hellwig <h...@lst.de>
>Cc: "Darrick J. Wong" <djw...@kernel.org>
>Cc: Christian Brauner <brau...@kernel.org>
>Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com>

Tested-by: Bo Liu <liub...@inspur.com>

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to