Merge branch 'fix/waitqueue-barriers' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4
This commit is contained in:
@@ -1096,6 +1096,9 @@ static noinline void async_cow_submit(struct btrfs_work *work)
|
||||
nr_pages = (async_cow->end - async_cow->start + PAGE_CACHE_SIZE) >>
|
||||
PAGE_CACHE_SHIFT;
|
||||
|
||||
/*
|
||||
* atomic_sub_return implies a barrier for waitqueue_active
|
||||
*/
|
||||
if (atomic_sub_return(nr_pages, &root->fs_info->async_delalloc_pages) <
|
||||
5 * 1024 * 1024 &&
|
||||
waitqueue_active(&root->fs_info->async_submit_wait))
|
||||
|
Reference in New Issue
Block a user