btrfs: remove unused logic of limiting async delalloc pages
authorDavid Sterba <dsterba@suse.com>
Fri, 6 Jan 2017 12:27:00 +0000 (13:27 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 14 Feb 2017 14:50:51 +0000 (15:50 +0100)
A proposed patch in https://marc.info/?l=linux-btrfs&m=147859791003837
pointed out bad limit threshold in cow_file_range_async, but it turned
out that the whole logic is not necessary and is done by writeback. We
agreed to remove it.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c

index c0e982c..39bb0bb 100644 (file)
@@ -1167,7 +1167,6 @@ static int cow_file_range_async(struct inode *inode, struct page *locked_page,
        struct btrfs_root *root = BTRFS_I(inode)->root;
        unsigned long nr_pages;
        u64 cur_end;
-       int limit = 10 * SZ_1M;
 
        clear_extent_bit(&BTRFS_I(inode)->io_tree, start, end, EXTENT_LOCKED,
                         1, 0, NULL, GFP_NOFS);
@@ -1199,12 +1198,6 @@ static int cow_file_range_async(struct inode *inode, struct page *locked_page,
 
                btrfs_queue_work(fs_info->delalloc_workers, &async_cow->work);
 
-               if (atomic_read(&fs_info->async_delalloc_pages) > limit) {
-                       wait_event(fs_info->async_submit_wait,
-                                  (atomic_read(&fs_info->async_delalloc_pages) <
-                                   limit));
-               }
-
                while (atomic_read(&fs_info->async_submit_draining) &&
                       atomic_read(&fs_info->async_delalloc_pages)) {
                        wait_event(fs_info->async_submit_wait,