diff options
author | Christoph Hellwig <hch@lst.de> | 2016-06-21 09:23:11 +1000 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-06-21 09:23:11 +1000 |
commit | ae259a9c8593f98aa60d045df978a5482a67c53f (patch) | |
tree | a3c07fa9fb8c61475ff85f4d8812d83c287258ff /fs/Kconfig | |
parent | 199a31c6d93ba9dc6f831fa1e77d9926f34f4e8a (diff) | |
download | lwn-ae259a9c8593f98aa60d045df978a5482a67c53f.tar.gz lwn-ae259a9c8593f98aa60d045df978a5482a67c53f.zip |
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>
Diffstat (limited to 'fs/Kconfig')
-rw-r--r-- | fs/Kconfig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/Kconfig b/fs/Kconfig index b8fcb416be72..4524916fa200 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -10,6 +10,9 @@ config DCACHE_WORD_ACCESS if BLOCK +config FS_IOMAP + bool + source "fs/ext2/Kconfig" source "fs/ext4/Kconfig" source "fs/jbd2/Kconfig" |