summaryrefslogtreecommitdiff
path: root/fs/btrfs/inode-item.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@toxicpanda.com>2021-12-03 17:18:13 -0500
committerDavid Sterba <dsterba@suse.com>2022-01-07 14:18:24 +0100
commit655807b8957ba84a583104c422a8f53725997d55 (patch)
treeeeb16ff3a661b2229ecae0c39e044b563e2329cf /fs/btrfs/inode-item.c
parent5caa490ed8f07488e47378999bd4ad451bf8858b (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.c8
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) {