diff options
author | Christoph Hellwig <hch@lst.de> | 2016-06-20 19:23:11 -0400 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-06-20 19:23:11 -0400 |
commit | ae259a9c8593f98aa60d045df978a5482a67c53f (patch) | |
tree | a3c07fa9fb8c61475ff85f4d8812d83c287258ff /fs/Kconfig | |
parent | 199a31c6d93ba9dc6f831fa1e77d9926f34f4e8a (diff) |
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 | |||
10 | 10 | ||
11 | if BLOCK | 11 | if BLOCK |
12 | 12 | ||
13 | config FS_IOMAP | ||
14 | bool | ||
15 | |||
13 | source "fs/ext2/Kconfig" | 16 | source "fs/ext2/Kconfig" |
14 | source "fs/ext4/Kconfig" | 17 | source "fs/ext4/Kconfig" |
15 | source "fs/jbd2/Kconfig" | 18 | source "fs/jbd2/Kconfig" |