Loading fs/btrfs/backref.c +5 −5 Original line number Diff line number Diff line Loading @@ -560,13 +560,13 @@ static int __add_missing_keys(struct btrfs_fs_info *fs_info, */ static void __merge_refs(struct list_head *head, int mode) { struct __prelim_ref *ref1; struct __prelim_ref *pos1; list_for_each_entry(ref1, head, list) { struct __prelim_ref *ref2 = ref1, *tmp; list_for_each_entry(pos1, head, list) { struct __prelim_ref *pos2 = pos1, *tmp; list_for_each_entry_safe_continue(ref2, tmp, head, list) { struct __prelim_ref *xchg; list_for_each_entry_safe_continue(pos2, tmp, head, list) { struct __prelim_ref *xchg, *ref1 = pos1, *ref2 = pos2; struct extent_inode_elem *eie; if (!ref_for_same_block(ref1, ref2)) Loading fs/btrfs/dev-replace.c +1 −1 Original line number Diff line number Diff line Loading @@ -614,7 +614,7 @@ static void btrfs_dev_replace_update_device_in_mapping_tree( em = lookup_extent_mapping(em_tree, start, (u64)-1); if (!em) break; map = (struct map_lookup *)em->bdev; map = em->map_lookup; for (i = 0; i < map->num_stripes; i++) if (srcdev == map->stripes[i].dev) map->stripes[i].dev = tgtdev; Loading fs/btrfs/extent-tree.c +2 −2 Original line number Diff line number Diff line Loading @@ -10399,7 +10399,7 @@ btrfs_start_trans_remove_block_group(struct btrfs_fs_info *fs_info, * more device items and remove one chunk item), but this is done at * btrfs_remove_chunk() through a call to check_system_chunk(). */ map = (struct map_lookup *)em->bdev; map = em->map_lookup; num_items = 3 + map->num_stripes; free_extent_map(em); Loading Loading @@ -10586,7 +10586,7 @@ int btrfs_init_space_info(struct btrfs_fs_info *fs_info) disk_super = fs_info->super_copy; if (!btrfs_super_root(disk_super)) return 1; return -EINVAL; features = btrfs_super_incompat_flags(disk_super); if (features & BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) Loading fs/btrfs/extent_map.c +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ void free_extent_map(struct extent_map *em) WARN_ON(extent_map_in_tree(em)); WARN_ON(!list_empty(&em->list)); if (test_bit(EXTENT_FLAG_FS_MAPPING, &em->flags)) kfree(em->bdev); kfree(em->map_lookup); kmem_cache_free(extent_map_cache, em); } } Loading fs/btrfs/extent_map.h +9 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,15 @@ struct extent_map { u64 block_len; u64 generation; unsigned long flags; union { struct block_device *bdev; /* * used for chunk mappings * flags & EXTENT_FLAG_FS_MAPPING must be set */ struct map_lookup *map_lookup; }; atomic_t refs; unsigned int compress_type; struct list_head list; Loading Loading
fs/btrfs/backref.c +5 −5 Original line number Diff line number Diff line Loading @@ -560,13 +560,13 @@ static int __add_missing_keys(struct btrfs_fs_info *fs_info, */ static void __merge_refs(struct list_head *head, int mode) { struct __prelim_ref *ref1; struct __prelim_ref *pos1; list_for_each_entry(ref1, head, list) { struct __prelim_ref *ref2 = ref1, *tmp; list_for_each_entry(pos1, head, list) { struct __prelim_ref *pos2 = pos1, *tmp; list_for_each_entry_safe_continue(ref2, tmp, head, list) { struct __prelim_ref *xchg; list_for_each_entry_safe_continue(pos2, tmp, head, list) { struct __prelim_ref *xchg, *ref1 = pos1, *ref2 = pos2; struct extent_inode_elem *eie; if (!ref_for_same_block(ref1, ref2)) Loading
fs/btrfs/dev-replace.c +1 −1 Original line number Diff line number Diff line Loading @@ -614,7 +614,7 @@ static void btrfs_dev_replace_update_device_in_mapping_tree( em = lookup_extent_mapping(em_tree, start, (u64)-1); if (!em) break; map = (struct map_lookup *)em->bdev; map = em->map_lookup; for (i = 0; i < map->num_stripes; i++) if (srcdev == map->stripes[i].dev) map->stripes[i].dev = tgtdev; Loading
fs/btrfs/extent-tree.c +2 −2 Original line number Diff line number Diff line Loading @@ -10399,7 +10399,7 @@ btrfs_start_trans_remove_block_group(struct btrfs_fs_info *fs_info, * more device items and remove one chunk item), but this is done at * btrfs_remove_chunk() through a call to check_system_chunk(). */ map = (struct map_lookup *)em->bdev; map = em->map_lookup; num_items = 3 + map->num_stripes; free_extent_map(em); Loading Loading @@ -10586,7 +10586,7 @@ int btrfs_init_space_info(struct btrfs_fs_info *fs_info) disk_super = fs_info->super_copy; if (!btrfs_super_root(disk_super)) return 1; return -EINVAL; features = btrfs_super_incompat_flags(disk_super); if (features & BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) Loading
fs/btrfs/extent_map.c +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ void free_extent_map(struct extent_map *em) WARN_ON(extent_map_in_tree(em)); WARN_ON(!list_empty(&em->list)); if (test_bit(EXTENT_FLAG_FS_MAPPING, &em->flags)) kfree(em->bdev); kfree(em->map_lookup); kmem_cache_free(extent_map_cache, em); } } Loading
fs/btrfs/extent_map.h +9 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,15 @@ struct extent_map { u64 block_len; u64 generation; unsigned long flags; union { struct block_device *bdev; /* * used for chunk mappings * flags & EXTENT_FLAG_FS_MAPPING must be set */ struct map_lookup *map_lookup; }; atomic_t refs; unsigned int compress_type; struct list_head list; Loading