btrfs: add space reservation tracepoint for reserved bytes
authorJosef Bacik <josef@toxicpanda.com>
Thu, 22 Aug 2019 19:10:56 +0000 (15:10 -0400)
committerDavid Sterba <dsterba@suse.com>
Mon, 9 Sep 2019 12:59:17 +0000 (14:59 +0200)
I noticed when folding the trace_btrfs_space_reservation() tracepoint
into the btrfs_space_info_update_* helpers that we didn't emit a
tracepoint when doing btrfs_add_reserved_bytes().  I know this is
because we were swapping bytes_may_use for bytes_reserved, so in my mind
there was no reason to have the tracepoint there.  But now there is
because we always emit the unreserve for the bytes_may_use side, and
this would have broken if compression was on anyway.  Add a tracepoint
to cover the bytes_reserved counter so the math still comes out right.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/block-group.c

index d61aa94884f0dfd138585ea73100416f5eeaaa8e..bf7e3f23bba745528f863066c4d0be5224d8d2e1 100644 (file)
@@ -2758,6 +2758,8 @@ int btrfs_add_reserved_bytes(struct btrfs_block_group_cache *cache,
        } else {
                cache->reserved += num_bytes;
                space_info->bytes_reserved += num_bytes;
+               trace_btrfs_space_reservation(cache->fs_info, "space_info",
+                                             space_info->flags, num_bytes, 1);
                btrfs_space_info_update_bytes_may_use(cache->fs_info,
                                                      space_info, -ram_bytes);
                if (delalloc)