u64 owning_root;
 };
 
+/* Stages of data relocation. */
+enum reloc_stage {
+       MOVE_DATA_EXTENTS,
+       UPDATE_DATA_PTRS
+};
+
 struct reloc_control {
        /* block group to relocate */
        struct btrfs_block_group *block_group;
        u64 search_start;
        u64 extents_found;
 
-       unsigned int stage:8;
+       enum reloc_stage stage;
        unsigned int create_reloc_tree:1;
        unsigned int merge_reloc_tree:1;
        unsigned int found_file_extent:1;
 };
 
-/* stages of data relocation */
-#define MOVE_DATA_EXTENTS      0
-#define UPDATE_DATA_PTRS       1
-
 static void mark_block_processed(struct reloc_control *rc,
                                 struct btrfs_backref_node *node)
 {
                   block_group->start, buf);
 }
 
-static const char *stage_to_string(int stage)
+static const char *stage_to_string(enum reloc_stage stage)
 {
        if (stage == MOVE_DATA_EXTENTS)
                return "move data extents";
        WARN_ON(ret && ret != -EAGAIN);
 
        while (1) {
-               int finishes_stage;
+               enum reloc_stage finishes_stage;
 
                mutex_lock(&fs_info->cleaner_mutex);
                ret = relocate_block_group(rc);