aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/btrfs/space-info.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@toxicpanda.com>2020-10-09 09:28:29 -0400
committerDavid Sterba <dsterba@suse.com>2021-02-08 22:58:59 +0100
commite5ad49e215a07562f0a765c68161d13d7c23d8d1 (patch)
tree71716a73c20d84148fdad60307d8e568accd795e /fs/btrfs/space-info.c
parentbtrfs: adjust the flush trace point to include the source (diff)
downloadwireguard-linux-e5ad49e215a07562f0a765c68161d13d7c23d8d1.tar.xz
wireguard-linux-e5ad49e215a07562f0a765c68161d13d7c23d8d1.zip
btrfs: add a trace class for dumping the current ENOSPC state
Often when I'm debugging ENOSPC related issues I have to resort to printing the entire ENOSPC state with trace_printk() in different spots. This gets pretty annoying, so add a trace state that does this for us. Then add a trace point at the end of preemptive flushing so you can see the state of the space_info when we decide to exit preemptive flushing. This helped me figure out we weren't kicking in the preemptive flushing soon enough. Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/space-info.c')
-rw-r--r--fs/btrfs/space-info.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c
index bb4f85c07738..bccd98141a6e 100644
--- a/fs/btrfs/space-info.c
+++ b/fs/btrfs/space-info.c
@@ -1140,6 +1140,7 @@ static void btrfs_preempt_reclaim_metadata_space(struct work_struct *work)
/* We only went through once, back off our clamping. */
if (loops == 1 && !space_info->reclaim_size)
space_info->clamp = max(1, space_info->clamp - 1);
+ trace_btrfs_done_preemptive_reclaim(fs_info, space_info);
spin_unlock(&space_info->lock);
}