aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 57c3129ee2a2..2ac260d41ccd 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -4674,6 +4674,11 @@ static void evict_inode_truncate_pages(struct inode *inode)
4674 clear_bit(EXTENT_FLAG_LOGGING, &em->flags); 4674 clear_bit(EXTENT_FLAG_LOGGING, &em->flags);
4675 remove_extent_mapping(map_tree, em); 4675 remove_extent_mapping(map_tree, em);
4676 free_extent_map(em); 4676 free_extent_map(em);
4677 if (need_resched()) {
4678 write_unlock(&map_tree->lock);
4679 cond_resched();
4680 write_lock(&map_tree->lock);
4681 }
4677 } 4682 }
4678 write_unlock(&map_tree->lock); 4683 write_unlock(&map_tree->lock);
4679 4684
@@ -4696,6 +4701,7 @@ static void evict_inode_truncate_pages(struct inode *inode)
4696 &cached_state, GFP_NOFS); 4701 &cached_state, GFP_NOFS);
4697 free_extent_state(state); 4702 free_extent_state(state);
4698 4703
4704 cond_resched();
4699 spin_lock(&io_tree->lock); 4705 spin_lock(&io_tree->lock);
4700 } 4706 }
4701 spin_unlock(&io_tree->lock); 4707 spin_unlock(&io_tree->lock);