aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index fb5c76795eda..5e0e6bcf67b9 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -4034,15 +4034,14 @@ static void shrink_delalloc(struct btrfs_root *root, u64 to_reclaim, u64 orig,
4034 u64 delalloc_bytes; 4034 u64 delalloc_bytes;
4035 u64 max_reclaim; 4035 u64 max_reclaim;
4036 long time_left; 4036 long time_left;
4037 unsigned long nr_pages = (2 * 1024 * 1024) >> PAGE_CACHE_SHIFT; 4037 unsigned long nr_pages;
4038 int loops = 0; 4038 int loops;
4039 enum btrfs_reserve_flush_enum flush; 4039 enum btrfs_reserve_flush_enum flush;
4040 4040
4041 trans = (struct btrfs_trans_handle *)current->journal_info; 4041 trans = (struct btrfs_trans_handle *)current->journal_info;
4042 block_rsv = &root->fs_info->delalloc_block_rsv; 4042 block_rsv = &root->fs_info->delalloc_block_rsv;
4043 space_info = block_rsv->space_info; 4043 space_info = block_rsv->space_info;
4044 4044
4045 smp_mb();
4046 delalloc_bytes = percpu_counter_sum_positive( 4045 delalloc_bytes = percpu_counter_sum_positive(
4047 &root->fs_info->delalloc_bytes); 4046 &root->fs_info->delalloc_bytes);
4048 if (delalloc_bytes == 0) { 4047 if (delalloc_bytes == 0) {
@@ -4052,6 +4051,7 @@ static void shrink_delalloc(struct btrfs_root *root, u64 to_reclaim, u64 orig,
4052 return; 4051 return;
4053 } 4052 }
4054 4053
4054 loops = 0;
4055 while (delalloc_bytes && loops < 3) { 4055 while (delalloc_bytes && loops < 3) {
4056 max_reclaim = min(delalloc_bytes, to_reclaim); 4056 max_reclaim = min(delalloc_bytes, to_reclaim);
4057 nr_pages = max_reclaim >> PAGE_CACHE_SHIFT; 4057 nr_pages = max_reclaim >> PAGE_CACHE_SHIFT;
@@ -4082,7 +4082,6 @@ static void shrink_delalloc(struct btrfs_root *root, u64 to_reclaim, u64 orig,
4082 if (time_left) 4082 if (time_left)
4083 break; 4083 break;
4084 } 4084 }
4085 smp_mb();
4086 delalloc_bytes = percpu_counter_sum_positive( 4085 delalloc_bytes = percpu_counter_sum_positive(
4087 &root->fs_info->delalloc_bytes); 4086 &root->fs_info->delalloc_bytes);
4088 } 4087 }