Re: [PATCH 2/2] ext4: fast commit may miss tracking unwritten range during ftruncate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looks good to me.

Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@xxxxxxxxx>

On Wed, Dec 22, 2021 at 7:24 PM Xin Yin <yinxin.x@xxxxxxxxxxxxx> wrote:
>
> If use FALLOC_FL_KEEP_SIZE to alloc unwritten range at bottom, the
> inode->i_size will not include the unwritten range. When call
> ftruncate with fast commit enabled, it will miss to track the
> unwritten range.
>
> Change to trace the full range during ftruncate.
>
> Signed-off-by: Xin Yin <yinxin.x@xxxxxxxxxxxxx>
> ---
>  fs/ext4/inode.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 82f555d26980..1d2ba63874ad 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -5423,8 +5423,7 @@ int ext4_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
>                                 ext4_fc_track_range(handle, inode,
>                                         (attr->ia_size > 0 ? attr->ia_size - 1 : 0) >>
>                                         inode->i_sb->s_blocksize_bits,
> -                                       (oldsize > 0 ? oldsize - 1 : 0) >>
> -                                       inode->i_sb->s_blocksize_bits);
> +                                       EXT_MAX_BLOCKS - 1);
>                         else
>                                 ext4_fc_track_range(
>                                         handle, inode,
> --
> 2.20.1
>



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux