diff options
author | Josef Bacik <josef@toxicpanda.com> | 2021-12-03 17:18:13 -0500 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-01-07 14:18:24 +0100 |
commit | 655807b8957ba84a583104c422a8f53725997d55 (patch) | |
tree | eeb16ff3a661b2229ecae0c39e044b563e2329cf /fs/btrfs/inode-item.c | |
parent | 5caa490ed8f07488e47378999bd4ad451bf8858b (diff) |
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 <fdmanana@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/inode-item.c')
-rw-r--r-- | fs/btrfs/inode-item.c | 8 |
1 files changed, 4 insertions, 4 deletions
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) { |