iomap: move iomap_read_inline_data around
authorChristoph Hellwig <hch@lst.de>
Thu, 2 May 2019 03:16:40 +0000 (20:16 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Thu, 2 May 2019 03:16:40 +0000 (20:16 -0700)
iomap_read_inline_data ended up being placed in the middle of the bio
based read I/O completion handling, which tends to confuse the heck out
of me whenever I follow the code.  Move it to a more suitable place.

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.c

index fbfe20b7f6f0a14772642d0d896ad4c9b20e78a0..9ef049d61e8ac79026dc4a9e8d49ee7d8d91d35e 100644 (file)
@@ -240,26 +240,6 @@ iomap_read_page_end_io(struct bio_vec *bvec, int error)
        iomap_read_finish(iop, page);
 }
 
-static void
-iomap_read_inline_data(struct inode *inode, struct page *page,
-               struct iomap *iomap)
-{
-       size_t size = i_size_read(inode);
-       void *addr;
-
-       if (PageUptodate(page))
-               return;
-
-       BUG_ON(page->index);
-       BUG_ON(size > PAGE_SIZE - offset_in_page(iomap->inline_data));
-
-       addr = kmap_atomic(page);
-       memcpy(addr, iomap->inline_data, size);
-       memset(addr + size, 0, PAGE_SIZE - size);
-       kunmap_atomic(addr);
-       SetPageUptodate(page);
-}
-
 static void
 iomap_read_end_io(struct bio *bio)
 {
@@ -281,6 +261,26 @@ struct iomap_readpage_ctx {
        struct list_head        *pages;
 };
 
+static void
+iomap_read_inline_data(struct inode *inode, struct page *page,
+               struct iomap *iomap)
+{
+       size_t size = i_size_read(inode);
+       void *addr;
+
+       if (PageUptodate(page))
+               return;
+
+       BUG_ON(page->index);
+       BUG_ON(size > PAGE_SIZE - offset_in_page(iomap->inline_data));
+
+       addr = kmap_atomic(page);
+       memcpy(addr, iomap->inline_data, size);
+       memset(addr + size, 0, PAGE_SIZE - size);
+       kunmap_atomic(addr);
+       SetPageUptodate(page);
+}
+
 static loff_t
 iomap_readpage_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
                struct iomap *iomap)