Thread (20 messages) 20 messages, 4 authors, 2021-07-19

Re: [PATCH 1/2] iomap: support tail packing inline read

From: Gao Xiang <hidden>
Date: 2021-07-19 13:45:58
Also in: lkml

On Mon, Jul 19, 2021 at 12:19:34PM +0100, Christoph Hellwig wrote:
On Sat, Jul 17, 2021 at 07:40:41PM +0100, Matthew Wilcox wrote:
quoted
Well, either sense of a WARN_ON is wrong.

For a file which is PAGE_SIZE + 3 bytes in size, to_iomap_page() will
be NULL.  For a file which is PAGE_SIZE/2 + 3 bytes in size,
to_iomap_page() will not be NULL.  (assuming the block size is <=
PAGE_SIZE / 2).

I think we need a prep patch that looks something like this:
Something like this is where we should eventually end up, but it
also affects the read from disk case so we need to be careful.
I also think it'd be better to leave this hunk as it-is (don't
touch it in this patch), I mean just

iop = iomap_page_create(inode, page);

as
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/iomap/buffered-io.c?id=229adf3c64dbeae4e2f45fb561907ada9fcc0d0c#n256

since iomap_read_inline_data() now calls iomap_set_range_uptodate() to
set blocks uptodate rather than SetPageUptodate() directly and we also
have iomap_page_release() as well.

Some follow-up optimized patch can be raised up independently since
it's somewhat out of current topic for now.

Thanks,
Gao Xiang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help