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 <h...@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 b1dee2171194..82fd08c29f7f 100644
--- a/fs/xfs/xfs_aops.c
+++ b/fs/xfs/xfs_aops.c
@@ -859,15 +859,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

Reply via email to