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 >