diff options
author | Josef Bacik <josef@toxicpanda.com> | 2021-12-04 01:18:12 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-01-07 16:18:24 +0300 |
commit | 5caa490ed8f07488e47378999bd4ad451bf8858b (patch) | |
tree | c65ac19b2c7fafac0d671813c95aa67cb4ad06ee /fs/btrfs/tree-log.c | |
parent | 462b728ea83fa85f1c0d2b79efb6187745444ce5 (diff) | |
download | linux-5caa490ed8f07488e47378999bd4ad451bf8858b.tar.xz |
btrfs: control extent reference updates with a control flag for truncate
We've had weird bugs in the past where we forgot to adjust the truncate
path to deal with the fact that we can be called by the tree log path.
Instead of checking if our root is a LOG_ROOT use a flag on the
btrfs_truncate_control to indicate that we don't want to do extent
reference updates during this truncate.
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/tree-log.c')
-rw-r--r-- | fs/btrfs/tree-log.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index c732a429a1c6..2b5e24c24a6b 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -4101,6 +4101,7 @@ static int truncate_inode_items(struct btrfs_trans_handle *trans, struct btrfs_truncate_control control = { .new_size = new_size, .min_type = min_type, + .skip_ref_updates = true, }; int ret; |