[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191210102916.842-1-agruenba@redhat.com>
Date: Tue, 10 Dec 2019 11:29:16 +0100
From: Andreas Gruenbacher <agruenba@...hat.com>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: Andreas Gruenbacher <agruenba@...hat.com>,
linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, cluster-devel@...hat.com
Subject: [PATCH] iomap: Export iomap_page_create and iomap_set_range_uptodate
These two functions are needed by filesystems for converting inline
("stuffed") inodes into non-inline inodes.
Signed-off-by: Andreas Gruenbacher <agruenba@...hat.com>
---
fs/iomap/buffered-io.c | 6 ++++--
include/linux/iomap.h | 5 +++++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index 828444e14d09..e8f6d7ba4e3c 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -41,7 +41,7 @@ static inline struct iomap_page *to_iomap_page(struct page *page)
static struct bio_set iomap_ioend_bioset;
-static struct iomap_page *
+struct iomap_page *
iomap_page_create(struct inode *inode, struct page *page)
{
struct iomap_page *iop = to_iomap_page(page);
@@ -64,6 +64,7 @@ iomap_page_create(struct inode *inode, struct page *page)
SetPagePrivate(page);
return iop;
}
+EXPORT_SYMBOL(iomap_page_create);
static void
iomap_page_release(struct page *page)
@@ -164,7 +165,7 @@ iomap_iop_set_range_uptodate(struct page *page, unsigned off, unsigned len)
spin_unlock_irqrestore(&iop->uptodate_lock, flags);
}
-static void
+void
iomap_set_range_uptodate(struct page *page, unsigned off, unsigned len)
{
if (PageError(page))
@@ -175,6 +176,7 @@ iomap_set_range_uptodate(struct page *page, unsigned off, unsigned len)
else
SetPageUptodate(page);
}
+EXPORT_SYMBOL(iomap_set_range_uptodate);
static void
iomap_read_finish(struct iomap_page *iop, struct page *page)
diff --git a/include/linux/iomap.h b/include/linux/iomap.h
index 8b09463dae0d..b00f9bc396b1 100644
--- a/include/linux/iomap.h
+++ b/include/linux/iomap.h
@@ -13,6 +13,7 @@
struct address_space;
struct fiemap_extent_info;
struct inode;
+struct iomap_page;
struct iomap_writepage_ctx;
struct iov_iter;
struct kiocb;
@@ -152,6 +153,10 @@ loff_t iomap_apply(struct inode *inode, loff_t pos, loff_t length,
unsigned flags, const struct iomap_ops *ops, void *data,
iomap_actor_t actor);
+struct iomap_page *iomap_page_create(struct inode *inode, struct page *page);
+void iomap_set_range_uptodate(struct page *page, unsigned off, unsigned len);
+
+
ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from,
const struct iomap_ops *ops);
int iomap_readpage(struct page *page, const struct iomap_ops *ops);
--
2.20.1
Powered by blists - more mailing lists