Skip to content

Commit

Permalink
f2fs: Revert "f2fs: truncate blocks in batch in __complete_revoke_lis…
Browse files Browse the repository at this point in the history
…t()"

We should not truncate replaced blocks, and were supposed to truncate the first
part as well.

This reverts commit 78a99fe.

Cc: stable@vger.kernel.org
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
  • Loading branch information
Jaegeuk Kim committed Feb 15, 2023
1 parent a46bebd commit c7dbc06
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions fs/f2fs/segment.c
Original file line number Diff line number Diff line change
@@ -265,19 +265,24 @@ static void __complete_revoke_list(struct inode *inode, struct list_head *head,
bool revoke)
{
struct revoke_entry *cur, *tmp;
pgoff_t start_index = 0;
bool truncate = is_inode_flag_set(inode, FI_ATOMIC_REPLACE);

list_for_each_entry_safe(cur, tmp, head, list) {
if (revoke)
if (revoke) {
__replace_atomic_write_block(inode, cur->index,
cur->old_addr, NULL, true);
} else if (truncate) {
f2fs_truncate_hole(inode, start_index, cur->index);
start_index = cur->index + 1;
}

list_del(&cur->list);
kmem_cache_free(revoke_entry_slab, cur);
}

if (!revoke && truncate)
f2fs_do_truncate_blocks(inode, 0, false);
f2fs_do_truncate_blocks(inode, start_index * PAGE_SIZE, false);
}

static int __f2fs_commit_atomic_write(struct inode *inode)

0 comments on commit c7dbc06

Please sign in to comment.