diff options
Diffstat (limited to 'fs/btrfs/extent-tree.c')
| -rw-r--r-- | fs/btrfs/extent-tree.c | 20 | 
1 files changed, 3 insertions, 17 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 521e9d4424f..f31abb14e06 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3689,20 +3689,6 @@ static int can_overcommit(struct btrfs_root *root,  	return 0;  } -static int writeback_inodes_sb_nr_if_idle_safe(struct super_block *sb, -					       unsigned long nr_pages, -					       enum wb_reason reason) -{ -	if (!writeback_in_progress(sb->s_bdi) && -	    down_read_trylock(&sb->s_umount)) { -		writeback_inodes_sb_nr(sb, nr_pages, reason); -		up_read(&sb->s_umount); -		return 1; -	} - -	return 0; -} -  /*   * shrink metadata reservation for delalloc   */ @@ -3735,9 +3721,9 @@ static void shrink_delalloc(struct btrfs_root *root, u64 to_reclaim, u64 orig,  	while (delalloc_bytes && loops < 3) {  		max_reclaim = min(delalloc_bytes, to_reclaim);  		nr_pages = max_reclaim >> PAGE_CACHE_SHIFT; -		writeback_inodes_sb_nr_if_idle_safe(root->fs_info->sb, -						    nr_pages, -						    WB_REASON_FS_FREE_SPACE); +		try_to_writeback_inodes_sb_nr(root->fs_info->sb, +					      nr_pages, +					      WB_REASON_FS_FREE_SPACE);  		/*  		 * We need to wait for the async pages to actually start before  |