btrfs: move the space info update macro to space-info.h
authorJosef Bacik <josef@toxicpanda.com>
Tue, 18 Jun 2019 20:09:21 +0000 (16:09 -0400)
committerDavid Sterba <dsterba@suse.com>
Tue, 2 Jul 2019 10:30:52 +0000 (12:30 +0200)
Also rename it to btrfs_space_info_update_* so it's clear what we're
updating.

Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c
fs/btrfs/space-info.h

index d115c78d2917e13a42916c567d920189a633953a..c55d1bcbb19690d4b9bf108134ed66e74cbdde72 100644 (file)
 
 #undef SCRAMBLE_DELAYED_REFS
 
-/*
- * Declare a helper function to detect underflow of various space info members
- */
-#define DECLARE_SPACE_INFO_UPDATE(name)                                        \
-static inline void update_##name(struct btrfs_fs_info *fs_info,                \
-                                struct btrfs_space_info *sinfo,        \
-                                s64 bytes)                             \
-{                                                                      \
-       lockdep_assert_held(&sinfo->lock);                              \
-       trace_update_##name(fs_info, sinfo, sinfo->name, bytes);        \
-       if (bytes < 0 && sinfo->name < -bytes) {                        \
-               WARN_ON(1);                                             \
-               sinfo->name = 0;                                        \
-               return;                                                 \
-       }                                                               \
-       sinfo->name += bytes;                                           \
-}
-
-DECLARE_SPACE_INFO_UPDATE(bytes_may_use);
-DECLARE_SPACE_INFO_UPDATE(bytes_pinned);
 
 static int __btrfs_free_extent(struct btrfs_trans_handle *trans,
                               struct btrfs_delayed_ref_node *node, u64 parent,
@@ -4054,7 +4034,7 @@ commit_trans:
                                              data_sinfo->flags, bytes, 1);
                return -ENOSPC;
        }
-       update_bytes_may_use(fs_info, data_sinfo, bytes);
+       btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, bytes);
        trace_btrfs_space_reservation(fs_info, "space_info",
                                      data_sinfo->flags, bytes, 1);
        spin_unlock(&data_sinfo->lock);
@@ -4107,7 +4087,7 @@ void btrfs_free_reserved_data_space_noquota(struct inode *inode, u64 start,
 
        data_sinfo = fs_info->data_sinfo;
        spin_lock(&data_sinfo->lock);
-       update_bytes_may_use(fs_info, data_sinfo, -len);
+       btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, -len);
        trace_btrfs_space_reservation(fs_info, "space_info",
                                      data_sinfo->flags, len, 0);
        spin_unlock(&data_sinfo->lock);
@@ -4947,13 +4927,15 @@ static int __reserve_metadata_bytes(struct btrfs_fs_info *fs_info,
         * If not things get more complicated.
         */
        if (used + orig_bytes <= space_info->total_bytes) {
-               update_bytes_may_use(fs_info, space_info, orig_bytes);
+               btrfs_space_info_update_bytes_may_use(fs_info, space_info,
+                                                     orig_bytes);
                trace_btrfs_space_reservation(fs_info, "space_info",
                                              space_info->flags, orig_bytes, 1);
                ret = 0;
        } else if (btrfs_can_overcommit(fs_info, space_info, orig_bytes, flush,
                                        system_chunk)) {
-               update_bytes_may_use(fs_info, space_info, orig_bytes);
+               btrfs_space_info_update_bytes_may_use(fs_info, space_info,
+                                                     orig_bytes);
                trace_btrfs_space_reservation(fs_info, "space_info",
                                              space_info->flags, orig_bytes, 1);
                ret = 0;
@@ -5282,7 +5264,7 @@ again:
                flush = BTRFS_RESERVE_FLUSH_ALL;
                goto again;
        }
-       update_bytes_may_use(fs_info, space_info, -num_bytes);
+       btrfs_space_info_update_bytes_may_use(fs_info, space_info, -num_bytes);
        trace_btrfs_space_reservation(fs_info, "space_info",
                                      space_info->flags, num_bytes, 0);
        spin_unlock(&space_info->lock);
@@ -5310,8 +5292,8 @@ again:
                                                      ticket->bytes, 1);
                        list_del_init(&ticket->list);
                        num_bytes -= ticket->bytes;
-                       update_bytes_may_use(fs_info, space_info,
-                                            ticket->bytes);
+                       btrfs_space_info_update_bytes_may_use(fs_info,
+                                       space_info, ticket->bytes);
                        ticket->bytes = 0;
                        space_info->tickets_id++;
                        wake_up(&ticket->wait);
@@ -5319,7 +5301,8 @@ again:
                        trace_btrfs_space_reservation(fs_info, "space_info",
                                                      space_info->flags,
                                                      num_bytes, 1);
-                       update_bytes_may_use(fs_info, space_info, num_bytes);
+                       btrfs_space_info_update_bytes_may_use(fs_info,
+                                       space_info, num_bytes);
                        ticket->bytes -= num_bytes;
                        num_bytes = 0;
                }
@@ -5612,14 +5595,16 @@ static void update_global_block_rsv(struct btrfs_fs_info *fs_info)
                        num_bytes = min(num_bytes,
                                        block_rsv->size - block_rsv->reserved);
                        block_rsv->reserved += num_bytes;
-                       update_bytes_may_use(fs_info, sinfo, num_bytes);
+                       btrfs_space_info_update_bytes_may_use(fs_info, sinfo,
+                                                             num_bytes);
                        trace_btrfs_space_reservation(fs_info, "space_info",
                                                      sinfo->flags, num_bytes,
                                                      1);
                }
        } else if (block_rsv->reserved > block_rsv->size) {
                num_bytes = block_rsv->reserved - block_rsv->size;
-               update_bytes_may_use(fs_info, sinfo, -num_bytes);
+               btrfs_space_info_update_bytes_may_use(fs_info, sinfo,
+                                                     -num_bytes);
                trace_btrfs_space_reservation(fs_info, "space_info",
                                      sinfo->flags, num_bytes, 0);
                block_rsv->reserved = block_rsv->size;
@@ -6082,7 +6067,8 @@ static int update_block_group(struct btrfs_trans_handle *trans,
                        old_val -= num_bytes;
                        btrfs_set_block_group_used(&cache->item, old_val);
                        cache->pinned += num_bytes;
-                       update_bytes_pinned(info, cache->space_info, num_bytes);
+                       btrfs_space_info_update_bytes_pinned(info,
+                                       cache->space_info, num_bytes);
                        cache->space_info->bytes_used -= num_bytes;
                        cache->space_info->disk_used -= num_bytes * factor;
                        spin_unlock(&cache->lock);
@@ -6157,7 +6143,8 @@ static int pin_down_extent(struct btrfs_block_group_cache *cache,
        spin_lock(&cache->space_info->lock);
        spin_lock(&cache->lock);
        cache->pinned += num_bytes;
-       update_bytes_pinned(fs_info, cache->space_info, num_bytes);
+       btrfs_space_info_update_bytes_pinned(fs_info, cache->space_info,
+                                            num_bytes);
        if (reserved) {
                cache->reserved -= num_bytes;
                cache->space_info->bytes_reserved -= num_bytes;
@@ -6366,7 +6353,8 @@ static int btrfs_add_reserved_bytes(struct btrfs_block_group_cache *cache,
        } else {
                cache->reserved += num_bytes;
                space_info->bytes_reserved += num_bytes;
-               update_bytes_may_use(cache->fs_info, space_info, -ram_bytes);
+               btrfs_space_info_update_bytes_may_use(cache->fs_info,
+                                                     space_info, -ram_bytes);
                if (delalloc)
                        cache->delalloc_bytes += num_bytes;
        }
@@ -6522,7 +6510,7 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
                spin_lock(&space_info->lock);
                spin_lock(&cache->lock);
                cache->pinned -= len;
-               update_bytes_pinned(fs_info, space_info, -len);
+               btrfs_space_info_update_bytes_pinned(fs_info, space_info, -len);
 
                trace_btrfs_space_reservation(fs_info, "pinned",
                                              space_info->flags, len, 0);
@@ -6543,8 +6531,8 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
                                to_add = min(len, global_rsv->size -
                                             global_rsv->reserved);
                                global_rsv->reserved += to_add;
-                               update_bytes_may_use(fs_info, space_info,
-                                                    to_add);
+                               btrfs_space_info_update_bytes_may_use(fs_info,
+                                               space_info, to_add);
                                if (global_rsv->reserved >= global_rsv->size)
                                        global_rsv->full = 1;
                                trace_btrfs_space_reservation(fs_info,
@@ -10831,7 +10819,8 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info)
                spin_lock(&space_info->lock);
                spin_lock(&block_group->lock);
 
-               update_bytes_pinned(fs_info, space_info, -block_group->pinned);
+               btrfs_space_info_update_bytes_pinned(fs_info, space_info,
+                                                    -block_group->pinned);
                space_info->bytes_readonly += block_group->pinned;
                percpu_counter_add_batch(&space_info->total_bytes_pinned,
                                   -block_group->pinned,
index fcec5286e0cbc2306959ef154f4c4ce41cbe0f3b..702e431580c640ae17108931a8cadc4e87b593da 100644 (file)
@@ -75,6 +75,29 @@ static inline bool btrfs_mixed_space_info(struct btrfs_space_info *space_info)
                (space_info->flags & BTRFS_BLOCK_GROUP_DATA));
 }
 
+/*
+ *
+ * Declare a helper function to detect underflow of various space info members
+ */
+#define DECLARE_SPACE_INFO_UPDATE(name)                                        \
+static inline void                                                     \
+btrfs_space_info_update_##name(struct btrfs_fs_info *fs_info,          \
+                              struct btrfs_space_info *sinfo,          \
+                              s64 bytes)                               \
+{                                                                      \
+       lockdep_assert_held(&sinfo->lock);                              \
+       trace_update_##name(fs_info, sinfo, sinfo->name, bytes);        \
+       if (bytes < 0 && sinfo->name < -bytes) {                        \
+               WARN_ON(1);                                             \
+               sinfo->name = 0;                                        \
+               return;                                                 \
+       }                                                               \
+       sinfo->name += bytes;                                           \
+}
+
+DECLARE_SPACE_INFO_UPDATE(bytes_may_use);
+DECLARE_SPACE_INFO_UPDATE(bytes_pinned);
+
 void btrfs_space_info_add_new_bytes(struct btrfs_fs_info *fs_info,
                                    struct btrfs_space_info *space_info,
                                    u64 num_bytes);