Thread (7 messages) 7 messages, 2 authors, 2018-05-28

Re: [PATCH 2/2] xfs: add support for sub-pagesize writeback without buffer_heads

From: Christoph Hellwig <hch@lst.de>
Date: 2018-05-28 06:57:50
Also in: linux-fsdevel, linux-mm, linux-xfs

On Fri, May 25, 2018 at 01:17:15PM -0400, Brian Foster wrote:
On Wed, May 23, 2018 at 04:46:46PM +0200, Christoph Hellwig wrote:
quoted
Switch to using the iomap_page structure for checking sub-page uptodate
status and track sub-page I/O completion status, and remove large
quantities of boilerplate code working around buffer heads.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/xfs/xfs_aops.c  | 536 +++++++--------------------------------------
 fs/xfs/xfs_buf.h   |   1 -
 fs/xfs/xfs_iomap.c |   3 -
 fs/xfs/xfs_super.c |   2 +-
 fs/xfs/xfs_trace.h |  18 +-
 5 files changed, 79 insertions(+), 481 deletions(-)
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
index efa2cbb27d67..d279929e53fb 100644
--- a/fs/xfs/xfs_aops.c
+++ b/fs/xfs/xfs_aops.c
...
quoted
@@ -768,7 +620,7 @@ xfs_aops_discard_page(
 	int			error;
 
 	if (XFS_FORCED_SHUTDOWN(mp))
-		goto out_invalidate;
+		goto out;
 
 	xfs_alert(mp,
 		"page discard on page "PTR_FMT", inode 0x%llx, offset %llu.",
@@ -778,15 +630,15 @@ xfs_aops_discard_page(
 			PAGE_SIZE / i_blocksize(inode));
 	if (error && !XFS_FORCED_SHUTDOWN(mp))
 		xfs_alert(mp, "page discard unable to remove delalloc mapping.");
-out_invalidate:
-	xfs_vm_invalidatepage(page, 0, PAGE_SIZE);
+out:
+	iomap_invalidatepage(page, 0, PAGE_SIZE);
All this does is lose the tracepoint. I don't think this call needs to
change. The rest looks Ok to me, but I still need to run some tests on
the whole thing.
Ok.  I actually had it that way, then thought we shouldn't need the
invalidatepage without bufferheads, but it turns out we still do and
added it back this way.  I'll go back to start and won't collect $200..
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help