Christoph Hellwig
ae259a9c85
fs: introduce iomap infrastructure
...
Add infrastructure for multipage buffered writes. This is implemented
using an main iterator that applies an actor function to a range that
can be written.
This infrastucture is used to implement a buffered write helper, one
to zero file ranges and one to implement the ->page_mkwrite VM
operations. All of them borrow a fair amount of code from fs/buffers.
for now by using an internal version of __block_write_begin that
gets passed an iomap and builds the corresponding buffer head.
The file system is gets a set of paired ->iomap_begin and ->iomap_end
calls which allow it to map/reserve a range and get a notification
once the write code is finished with it.
Based on earlier code from Dave Chinner.
Signed-off-by: Christoph Hellwig <hch@lst.de >
Reviewed-by: Bob Peterson <rpeterso@redhat.com >
Signed-off-by: Dave Chinner <david@fromorbit.com >
2016-06-21 09:23:11 +10:00
..
2016-05-27 15:39:43 -04:00
2016-05-28 16:50:24 -07:00
2016-05-27 15:26:11 -07:00
2016-05-02 19:49:32 -04:00
2016-05-23 17:04:14 -07:00
2016-05-09 11:41:14 -04:00
2016-05-27 17:14:05 -07:00
2016-04-04 10:41:08 -07:00
2016-05-27 17:14:05 -07:00
2016-05-27 15:39:43 -04:00
2016-05-02 19:49:29 -04:00
2016-05-09 11:41:13 -04:00
2016-05-09 11:41:14 -04:00
2016-05-07 10:32:33 -07:00
2016-04-19 04:28:28 +09:00
2016-04-26 15:47:32 -07:00
2016-04-04 10:41:08 -07:00
2016-05-27 20:09:16 -04:00
2016-05-20 17:58:30 -07:00
2016-05-20 17:58:30 -07:00
2016-05-17 17:05:30 -07:00
2016-05-02 19:49:29 -04:00
2016-05-27 17:14:05 -07:00
2016-05-27 17:14:05 -07:00
2016-05-27 15:39:43 -04:00
2016-05-17 15:05:23 -07:00
2016-05-09 11:41:14 -04:00
2016-04-04 10:41:08 -07:00
2016-05-27 20:09:16 -04:00
2016-05-27 17:14:05 -07:00
2016-05-27 20:09:16 -04:00
2016-05-27 15:39:43 -04:00
2016-05-12 19:49:30 -04:00
2016-05-28 16:50:24 -07:00
2016-04-04 10:41:08 -07:00
2016-05-11 00:00:29 -04:00
2016-05-24 12:55:26 -07:00
2016-05-27 15:39:43 -04:00
2016-05-27 15:39:43 -04:00
2016-05-27 20:09:16 -04:00
2016-05-09 11:42:19 -04:00
2016-05-02 19:49:32 -04:00
2016-04-04 10:41:08 -07:00
2016-05-27 17:20:27 -07:00
2016-06-21 09:22:39 +10:00
2016-05-23 17:04:14 -07:00
2016-05-19 19:12:14 -07:00
2016-05-01 19:58:39 -04:00
2016-05-27 17:14:05 -07:00
2016-05-09 11:41:14 -04:00
2016-05-09 11:41:14 -04:00
2016-05-27 15:39:43 -04:00
2016-05-27 17:14:05 -07:00
2016-05-23 17:04:14 -07:00
2016-04-04 10:41:08 -07:00
2016-05-09 11:41:14 -04:00
2016-05-09 11:41:14 -04:00
2016-04-26 12:00:48 -04:00
2016-05-20 17:58:30 -07:00
2016-05-27 15:39:43 -04:00
2016-05-09 11:41:15 -04:00
2016-05-09 11:41:15 -04:00
2016-05-02 19:49:32 -04:00
2016-05-27 18:49:29 -07:00
2016-05-17 15:05:23 -07:00
2016-05-02 19:49:32 -04:00
2016-06-21 09:22:39 +10:00
2016-05-23 17:04:14 -07:00
2016-05-27 20:09:16 -04:00
2016-05-28 16:34:59 -07:00
2016-05-18 11:51:59 -07:00
2016-05-27 15:57:31 -07:00
2016-05-27 15:26:11 -07:00
2016-05-26 19:34:26 -07:00
2016-06-21 09:23:11 +10:00
2016-03-29 10:11:44 -07:00
2016-02-14 14:25:59 -08:00
2016-05-24 12:55:26 -07:00
2016-05-23 17:04:14 -07:00
2016-05-26 20:00:28 -07:00
2016-05-28 16:15:25 -07:00
2016-05-27 14:49:37 -07:00
2016-03-22 15:36:02 -07:00
2016-05-19 19:12:14 -07:00
2016-05-23 17:04:14 -07:00
2016-03-22 15:36:02 -07:00
2016-05-02 19:49:28 -04:00
2016-05-20 17:58:30 -07:00
2016-05-02 19:49:28 -04:00
2016-06-21 09:23:11 +10:00
2016-06-21 09:23:11 +10:00
2016-06-21 09:23:11 +10:00
2016-05-23 17:04:14 -07:00
2016-05-27 20:09:16 -04:00
2016-06-21 09:23:11 +10:00
2016-02-22 22:44:04 -05:00
2016-04-04 10:41:08 -07:00
2016-05-29 07:33:47 -07:00
2016-05-17 14:41:03 -07:00
2016-04-04 10:41:08 -07:00
2016-05-05 09:54:45 -05:00
2016-05-27 15:39:43 -04:00
2016-03-16 13:09:08 -04:00
2016-05-18 11:46:23 -07:00
2016-05-26 00:13:25 -04:00
2016-05-19 19:12:14 -07:00
2016-04-14 12:56:09 -07:00
2016-05-11 00:00:29 -04:00
2016-04-18 11:18:55 +02:00
2016-04-04 10:41:08 -07:00
2016-05-20 17:58:30 -07:00
2016-05-27 20:09:16 -04:00