This is what it might look like to feed pgol in to some part of the fs stack
instead of iovecs. I imagine we'd want to do it at a much higher level, perhaps
something like vfs_write_pages().
---
fs/direct-io.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/fs/direct-io.c b/fs/direct-io.c
index 0d5ed41..e86bcbc 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -1213,3 +1213,24 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct
inode *inode,
}
EXPORT_SYMBOL(__blockdev_direct_IO);
+
+ssize_t
+__blockdev_direct_IO_pages(int rw, struct kiocb *iocb, struct inode *inode,
+ struct block_device *bdev, struct pgol *pgol, loff_t offset,
+ unsigned long nr_pages, get_block_t get_block, dio_iodone_t end_io,
+ int dio_lock_type)
+{
+ struct rwmem_pages rwp = {
+ .rwmem.ops = &rwmem_pages_ops,
+ .rwmem.nr_segs = nr_pages,
+ .pgol = pgol,
+ };
+ struct rwmem *rwm = &rwp.rwmem;
+
+ rwm->ops->init(rwm);
+
+ return blockdev_direct_IO_rwmem(rw, iocb, inode, bdev, rwm, offset,
+ get_block, end_io, dio_lock_type);
+}
+
+EXPORT_SYMBOL(__blockdev_direct_IO_pages);
--
1.5.2.2
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html