u64 delalloc_bytes;
u64 last_alloc;
u64 last_data_alloc;
- int avail_data_alloc_bits;
- int avail_metadata_alloc_bits;
- int avail_system_alloc_bits;
- int data_alloc_profile;
- int metadata_alloc_profile;
- int system_alloc_profile;
+
+ u64 avail_data_alloc_bits;
+ u64 avail_metadata_alloc_bits;
+ u64 avail_system_alloc_bits;
+ u64 data_alloc_profile;
+ u64 metadata_alloc_profile;
+ u64 system_alloc_profile;
};
/*
btrfs_read_block_groups(extent_root);
fs_info->generation = btrfs_super_generation(disk_super) + 1;
- if (btrfs_super_num_devices(disk_super) > 0) {
- fs_info->data_alloc_profile = BTRFS_BLOCK_GROUP_RAID0 |
- BTRFS_BLOCK_GROUP_RAID1;
- fs_info->metadata_alloc_profile = BTRFS_BLOCK_GROUP_RAID1 |
- BTRFS_BLOCK_GROUP_DUP;
- fs_info->system_alloc_profile = fs_info->metadata_alloc_profile;
- }
+ fs_info->data_alloc_profile = (u64)-1;
+ fs_info->metadata_alloc_profile = (u64)-1;
+ fs_info->system_alloc_profile = fs_info->metadata_alloc_profile;
+
mutex_unlock(&fs_info->fs_mutex);
return tree_root;
start, num_bytes);
BUG_ON(ret);
- set_avail_alloc_bits(extent_root->fs_info, flags);
return 0;
}
&cache->space_info);
BUG_ON(ret);
- if (type & BTRFS_BLOCK_GROUP_DATA) {
- bit = BLOCK_GROUP_DATA;
- } else if (type & BTRFS_BLOCK_GROUP_SYSTEM) {
- bit = BLOCK_GROUP_SYSTEM;
- } else if (type & BTRFS_BLOCK_GROUP_METADATA) {
- bit = BLOCK_GROUP_METADATA;
- }
+ bit = block_group_state_bits(type);
set_extent_bits(block_group_cache, chunk_objectid,
chunk_objectid + size - 1,
bit | EXTENT_LOCKED, GFP_NOFS);
finish_current_insert(trans, extent_root);
ret = del_pending_extents(trans, extent_root);
BUG_ON(ret);
+ set_avail_alloc_bits(extent_root->fs_info, type);
return 0;
}