disk-io.c (fc7cbcd4890e297de5d6487e04344a99b39de9be) disk-io.c (01cd390903e00c8f42ba0e84f25a70e3d613a15c)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2007 Oracle. All rights reserved.
4 */
5
6#include <linux/fs.h>
7#include <linux/blkdev.h>
8#include <linux/radix-tree.h>

--- 472 unchanged lines hidden (view full) ---

481 cur += fs_info->nodesize) {
482 struct extent_buffer *eb;
483 bool uptodate;
484
485 eb = find_extent_buffer(fs_info, cur);
486 uptodate = btrfs_subpage_test_uptodate(fs_info, page, cur,
487 fs_info->nodesize);
488
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2007 Oracle. All rights reserved.
4 */
5
6#include <linux/fs.h>
7#include <linux/blkdev.h>
8#include <linux/radix-tree.h>

--- 472 unchanged lines hidden (view full) ---

481 cur += fs_info->nodesize) {
482 struct extent_buffer *eb;
483 bool uptodate;
484
485 eb = find_extent_buffer(fs_info, cur);
486 uptodate = btrfs_subpage_test_uptodate(fs_info, page, cur,
487 fs_info->nodesize);
488
489 /* A dirty eb shouldn't disappear from extent_buffers */
489 /* A dirty eb shouldn't disappear from buffer_radix */
490 if (WARN_ON(!eb))
491 return -EUCLEAN;
492
493 if (WARN_ON(cur != btrfs_header_bytenr(eb))) {
494 free_extent_buffer(eb);
495 return -EUCLEAN;
496 }
497 if (WARN_ON(!uptodate)) {

--- 2647 unchanged lines hidden (view full) ---

3145 }
3146
3147 return ret;
3148}
3149
3150void btrfs_init_fs_info(struct btrfs_fs_info *fs_info)
3151{
3152 INIT_RADIX_TREE(&fs_info->fs_roots_radix, GFP_ATOMIC);
490 if (WARN_ON(!eb))
491 return -EUCLEAN;
492
493 if (WARN_ON(cur != btrfs_header_bytenr(eb))) {
494 free_extent_buffer(eb);
495 return -EUCLEAN;
496 }
497 if (WARN_ON(!uptodate)) {

--- 2647 unchanged lines hidden (view full) ---

3145 }
3146
3147 return ret;
3148}
3149
3150void btrfs_init_fs_info(struct btrfs_fs_info *fs_info)
3151{
3152 INIT_RADIX_TREE(&fs_info->fs_roots_radix, GFP_ATOMIC);
3153 xa_init_flags(&fs_info->extent_buffers, GFP_ATOMIC);
3153 INIT_RADIX_TREE(&fs_info->buffer_radix, GFP_ATOMIC);
3154 INIT_LIST_HEAD(&fs_info->trans_list);
3155 INIT_LIST_HEAD(&fs_info->dead_roots);
3156 INIT_LIST_HEAD(&fs_info->delayed_iputs);
3157 INIT_LIST_HEAD(&fs_info->delalloc_roots);
3158 INIT_LIST_HEAD(&fs_info->caching_block_groups);
3159 spin_lock_init(&fs_info->delalloc_root_lock);
3160 spin_lock_init(&fs_info->trans_lock);
3161 spin_lock_init(&fs_info->fs_roots_radix_lock);

--- 2217 unchanged lines hidden ---
3154 INIT_LIST_HEAD(&fs_info->trans_list);
3155 INIT_LIST_HEAD(&fs_info->dead_roots);
3156 INIT_LIST_HEAD(&fs_info->delayed_iputs);
3157 INIT_LIST_HEAD(&fs_info->delalloc_roots);
3158 INIT_LIST_HEAD(&fs_info->caching_block_groups);
3159 spin_lock_init(&fs_info->delalloc_root_lock);
3160 spin_lock_init(&fs_info->trans_lock);
3161 spin_lock_init(&fs_info->fs_roots_radix_lock);

--- 2217 unchanged lines hidden ---