From 655807b8957ba84a583104c422a8f53725997d55 Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Fri, 3 Dec 2021 17:18:13 -0500 Subject: btrfs: use a flag to control when to clear the file extent range We only care about updating the file extent range when we are doing a normal truncation. We skip this for tree logging currently, but we can also skip this for eviction as well. Using a flag makes it more explicit when we want to do this work. Reviewed-by: Filipe Manana Signed-off-by: Josef Bacik Reviewed-by: David Sterba Signed-off-by: David Sterba --- fs/btrfs/inode-item.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'fs/btrfs/inode-item.c') diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c index 4c753415ab06..5598090bd0aa 100644 --- a/fs/btrfs/inode-item.c +++ b/fs/btrfs/inode-item.c @@ -624,11 +624,11 @@ search_again: } delete: /* - * We use btrfs_truncate_inode_items() to clean up log trees for - * multiple fsyncs, and in this case we don't want to clear the - * file extent range because it's just the log. + * We only want to clear the file extent range if we're + * modifying the actual inode's mapping, which is just the + * normal truncate path. */ - if (root == inode->root) { + if (control->clear_extent_range) { ret = btrfs_inode_clear_file_extent_range(inode, clear_start, clear_len); if (ret) { -- cgit v1.2.3