diff options
author | Jeff Mahoney | 2017-06-20 08:15:26 -0400 |
---|---|---|
committer | David Sterba | 2017-06-21 15:48:01 +0200 |
commit | cddf3b2cb33e01087e82580a4a7d508f08ba59e4 (patch) | |
tree | 824ddac5ec4cf65c11bb4a0ccc70898b80ed8f2e | |
parent | 7dfb8be11b5d1db4325414ce16b8c164e08f52d8 (diff) |
btrfs: add cond_resched to btrfs_qgroup_trace_leaf_items
On an uncontended system, we can end up hitting soft lockups while
doing replace_path. At the core, and frequently called is
btrfs_qgroup_trace_leaf_items, so it makes sense to add a cond_resched
there.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/qgroup.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 458fec01d814..7d16f0692d73 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c @@ -1559,6 +1559,7 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans, if (ret) return ret; } + cond_resched(); return 0; } |