iomap: warn on inline maps in iomap_writepage_map
authorChristoph Hellwig <hch@lst.de>
Thu, 17 Oct 2019 20:12:17 +0000 (13:12 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Mon, 21 Oct 2019 15:51:59 +0000 (08:51 -0700)
And inline mapping should never mark the page dirty and thus never end up
in writepages.  Add a check for that condition and warn if it happens.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/iomap/buffered-io.c

index 41e1828..901c1a7 100644 (file)
@@ -1415,6 +1415,8 @@ iomap_writepage_map(struct iomap_writepage_ctx *wpc,
                error = wpc->ops->map_blocks(wpc, inode, file_offset);
                if (error)
                        break;
+               if (WARN_ON_ONCE(wpc->iomap.type == IOMAP_INLINE))
+                       continue;
                if (wpc->iomap.type == IOMAP_HOLE)
                        continue;
                iomap_add_to_ioend(inode, file_offset, page, iop, wpc, wbc,