Re: [PATCH 22/34] xfs: make xfs_writepage_map extent map centric

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 29, 2018 at 03:08:46PM +0200, Christoph Hellwig wrote:
> On Tue, May 29, 2018 at 07:26:31AM -0400, Brian Foster wrote:
> > What exactly is the trivial check? Can you show the code please?
> 
> ASSERT(file_offset > i_size_read(inode)) in the !count block
> at the end of xfs_writepage_map.
> 
> (file_offset replaced with page_offset(page) + offset for the mainline
> code).

Ok, so we (mainline) somehow or another end up in writeback with a page
(inside EOF) with a combination of (!mapped && !uptodate) and (!mapped
&& uptodate) (unwritten?) buffers, none of them actually being dirty.
I'm not quite sure how that happens, but I think it does rule out the
count == 0 && at least one uptodate segment logic I proposed earlier.

Fair enough. Given that, I'm not sure there's a good way to trigger such
error detection without actual dirty state, and it's certainly not worth
complicating the design just for that. Thanks for trying, at least.

Hmm, that does have me wondering a bit if/how we'd end up writing back
zeroed blocks over unwritten extents with no other dirty user data in
the page (since the initial xfs_writepage_map() rework patch factors out
the uptodate && !mapped skipping logic).

Brian

> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux