btrfs: make flush_space take a enum btrfs_flush_state instead of int
authorJosef Bacik <josef@toxicpanda.com>
Fri, 9 Oct 2020 13:28:18 +0000 (09:28 -0400)
committerDavid Sterba <dsterba@suse.com>
Mon, 8 Feb 2021 21:58:57 +0000 (22:58 +0100)
I got a automated message from somebody who runs clang against our
kernels and it's because I used the wrong enum type for what I passed
into flush_space, caught by -Wenum-conversion.  Change the argument to
be explicitly the enum we're expecting to make everything consistent.
Maybe eventually gcc will catch errors like this.

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>
fs/btrfs/space-info.c

index fd8e79e..4eab581 100644 (file)
@@ -670,7 +670,7 @@ enospc:
  */
 static void flush_space(struct btrfs_fs_info *fs_info,
                       struct btrfs_space_info *space_info, u64 num_bytes,
-                      int state)
+                      enum btrfs_flush_state state)
 {
        struct btrfs_root *root = fs_info->extent_root;
        struct btrfs_trans_handle *trans;
@@ -923,7 +923,7 @@ static void btrfs_async_reclaim_metadata_space(struct work_struct *work)
        struct btrfs_fs_info *fs_info;
        struct btrfs_space_info *space_info;
        u64 to_reclaim;
-       int flush_state;
+       enum btrfs_flush_state flush_state;
        int commit_cycles = 0;
        u64 last_tickets_id;
 
@@ -1055,7 +1055,7 @@ static void btrfs_async_reclaim_data_space(struct work_struct *work)
        struct btrfs_fs_info *fs_info;
        struct btrfs_space_info *space_info;
        u64 last_tickets_id;
-       int flush_state = 0;
+       enum btrfs_flush_state flush_state = 0;
 
        fs_info = container_of(work, struct btrfs_fs_info, async_data_reclaim_work);
        space_info = fs_info->data_sinfo;