[PATCH 11/18] xfs: don't clear imap_valid for a non-uptodate buffers

Christoph Hellwig
2018-05-30T10:01:05Z

Finding a buffer that isn't uptodate doesn't invalidate the mapping for
any given block. The last_sector check will already take care of starting
another ioend as soon as we find any non-update buffer, and if the current
mapping doesn't include the next uptodate buffer the xfs_imap_valid check
will take care of it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
fs/xfs/xfs_aops.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
index cef2bc3cf98b..7dc13b0aae60 100644
--- a/fs/xfs/xfs_aops.c
+++ b/fs/xfs/xfs_aops.c
@@ -849,15 +849,12 @@ xfs_writepage_map(
break;

/*
- * Block does not contain valid data, skip it, mark the current
- * map as invalid because we have a discontiguity. This ensures
- * we put subsequent writeable buffers into a new ioend.
+ * Block does not contain valid data, skip it.
*/
if (!buffer_uptodate(bh)) {
if (PageUptodate(page))
ASSERT(buffer_mapped(bh));
uptodate = false;
- wpc->imap_valid = false;
continue;
}

--
2.17.0