lkml.org 
[lkml]   [2024]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH v3 21/26] ext4: implement zero_range iomap path
    Date
    From: Zhang Yi <yi.zhang@huawei.com>

    Implement zero_range iomap path, add ext4_iomap_zero_range() to zero
    out the already mapped blocks, everything have been done in
    iomap_zero_range(), so invoke it directly.

    Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
    ---
    fs/ext4/inode.c | 9 +++++++++
    1 file changed, 9 insertions(+)

    diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
    index dee661e64a69..f8e9f566ef6a 100644
    --- a/fs/ext4/inode.c
    +++ b/fs/ext4/inode.c
    @@ -4126,6 +4126,13 @@ static int __ext4_block_zero_page_range(handle_t *handle,
    return err;
    }

    +static int ext4_iomap_zero_range(struct inode *inode,
    + loff_t from, loff_t length)
    +{
    + return iomap_zero_range(inode, from, length, NULL,
    + &ext4_iomap_buffered_read_ops);
    +}
    +
    /*
    * ext4_block_zero_page_range() zeros out a mapping of length 'length'
    * starting from file offset 'from'. The range to be zero'd must
    @@ -4151,6 +4158,8 @@ static int ext4_block_zero_page_range(handle_t *handle,
    if (IS_DAX(inode)) {
    return dax_zero_range(inode, from, length, NULL,
    &ext4_iomap_ops);
    + } else if (ext4_test_inode_state(inode, EXT4_STATE_BUFFERED_IOMAP)) {
    + return ext4_iomap_zero_range(inode, from, length);
    }
    return __ext4_block_zero_page_range(handle, mapping, from, length);
    }
    --
    2.39.2

    \
     
     \ /
      Last update: 2024-05-27 14:35    [W:2.762 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site