summaryrefslogtreecommitdiffstats
path: root/fs/iomap.c
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2018-07-03 18:07:47 +0200
committerDarrick J. Wong <darrick.wong@oracle.com>2018-07-03 18:07:47 +0200
commit806a1477b10a153cd01ee7ccba8ca2492df3e0b2 (patch)
treeeeb90996b833d44d9d3d3a9e3562f86669469456 /fs/iomap.c
parentiomap: support direct I/O to inline data (diff)
downloadlinux-806a1477b10a153cd01ee7ccba8ca2492df3e0b2.tar.xz
linux-806a1477b10a153cd01ee7ccba8ca2492df3e0b2.zip
iomap: add inline data support to iomap_readpage_actor
Just copy the inline data into the page using the existing helper. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/iomap.c')
-rw-r--r--fs/iomap.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/iomap.c b/fs/iomap.c
index 98a1fdd5c091..13cdcf33e6c0 100644
--- a/fs/iomap.c
+++ b/fs/iomap.c
@@ -155,6 +155,12 @@ iomap_readpage_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
bool is_contig = false;
sector_t sector;
+ if (iomap->type == IOMAP_INLINE) {
+ WARN_ON_ONCE(poff);
+ iomap_read_inline_data(inode, page, iomap);
+ return PAGE_SIZE;
+ }
+
/* we don't support blocksize < PAGE_SIZE quite yet. */
WARN_ON_ONCE(pos != page_offset(page));
WARN_ON_ONCE(plen != PAGE_SIZE);