ext4: use iomap for zeroing blocks in DAX mode
authorJan Kara <jack@suse.cz>
Sun, 20 Nov 2016 23:08:05 +0000 (18:08 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 20 Nov 2016 23:08:05 +0000 (18:08 -0500)
Use iomap infrastructure for zeroing blocks when in DAX mode.
ext4_iomap_begin() handles read requests just fine and that's all that
is needed for iomap_zero_range().

Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c

index 5e0526f..6d186ca 100644 (file)
@@ -3859,8 +3859,10 @@ static int ext4_block_zero_page_range(handle_t *handle,
        if (length > max || length < 0)
                length = max;
 
-       if (IS_DAX(inode))
-               return dax_zero_page_range(inode, from, length, ext4_get_block);
+       if (IS_DAX(inode)) {
+               return iomap_zero_range(inode, from, length, NULL,
+                                       &ext4_iomap_ops);
+       }
        return __ext4_block_zero_page_range(handle, mapping, from, length);
 }