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 Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux