Thread (16 messages) 16 messages, 4 authors, 2018-06-19

Re: iomap preparations for GFS2 v2

From: Christoph Hellwig <hch@lst.de>
Date: 2018-06-19 14:26:49
Also in: linux-fsdevel, linux-xfs

On Tue, Jun 19, 2018 at 01:08:12PM +0200, Andreas Gruenbacher wrote:
What I'm seeing in the readpage address space operation is pages which
are not PageUptodate(), with a page-size buffer head that is
buffer_uptodate(). The filesystem doesn't bother keeping the page
flags in sync with the buffer head flags, nothing unusual.
It is in fact highly unusual, as all the generic routines do set
the page uptodate once all buffers are uptodate.
When
iomap_readpage is called on such a page, it will replace the current
contents with what's on disk, losing the changes in memory. So we
cannot just call iomap_readpages, we need to check the buffer head
flags as well. Or, since the old code is still needed for page size !=
block size anyway, we can fall back to that for pages that have
buffers for now.
I'd like to understand where that buffer_head comes from, something
seems fishy here.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help