diff options
| author | Zhang Yi <[email protected]> | 2021-07-16 12:20:21 +0000 |
|---|---|---|
| committer | Theodore Ts'o <[email protected]> | 2021-09-05 03:38:18 +0000 |
| commit | 4df031ff5876d94b48dd9ee486ba5522382a06b2 (patch) | |
| tree | 52c453e2978abff4caf9c5218e68681619867251 /fs/ext4/fast_commit.c | |
| parent | jbd2: add sparse annotations for add_transaction_credits() (diff) | |
| download | kernel-4df031ff5876d94b48dd9ee486ba5522382a06b2.tar.gz kernel-4df031ff5876d94b48dd9ee486ba5522382a06b2.zip | |
ext4: check and update i_disksize properly
After commit 3da40c7b0898 ("ext4: only call ext4_truncate when size <=
isize"), i_disksize could always be updated to i_size in ext4_setattr(),
and we could sure that i_disksize <= i_size since holding inode lock and
if i_disksize < i_size there are delalloc writes pending in the range
upto i_size. If the end of the current write is <= i_size, there's no
need to touch i_disksize since writeback will push i_disksize upto
i_size eventually. So we can switch to check i_size instead of
i_disksize in ext4_da_write_end() when write to the end of the file.
we also could remove ext4_mark_inode_dirty() together because we defer
inode dirtying to generic_write_end() or ext4_da_write_inline_data_end().
Signed-off-by: Zhang Yi <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Signed-off-by: Theodore Ts'o <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'fs/ext4/fast_commit.c')
0 files changed, 0 insertions, 0 deletions
