• Home
  • Raw
  • Download

Lines Matching +full:1 +full:eb

127  * eb, the lockdep key is determined by the btrfs_root it belongs to and
128 * the level the eb occupies in the tree.
156 char names[BTRFS_MAX_LEVEL + 1][20];
157 struct lock_class_key keys[BTRFS_MAX_LEVEL + 1];
188 void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, in btrfs_set_buffer_lockdep_class() argument
200 lockdep_set_class_and_name(&eb->lock, in btrfs_set_buffer_lockdep_class()
223 for (i = 1; i < num_pages; i++) { in csum_tree_block()
238 struct extent_buffer *eb, u64 parent_transid, in verify_parent_transid() argument
245 if (!parent_transid || btrfs_header_generation(eb) == parent_transid) in verify_parent_transid()
252 btrfs_tree_read_lock(eb); in verify_parent_transid()
253 btrfs_set_lock_blocking_read(eb); in verify_parent_transid()
256 lock_extent_bits(io_tree, eb->start, eb->start + eb->len - 1, in verify_parent_transid()
258 if (extent_buffer_uptodate(eb) && in verify_parent_transid()
259 btrfs_header_generation(eb) == parent_transid) { in verify_parent_transid()
263 btrfs_err_rl(eb->fs_info, in verify_parent_transid()
265 eb->start, in verify_parent_transid()
266 parent_transid, btrfs_header_generation(eb)); in verify_parent_transid()
267 ret = 1; in verify_parent_transid()
273 * if we find an eb that is under IO (dirty/writeback) because we could in verify_parent_transid()
277 if (!extent_buffer_under_io(eb)) in verify_parent_transid()
278 clear_extent_buffer_uptodate(eb); in verify_parent_transid()
280 unlock_extent_cached(io_tree, eb->start, eb->start + eb->len - 1, in verify_parent_transid()
283 btrfs_tree_read_unlock_blocking(eb); in verify_parent_transid()
323 return 1; in btrfs_check_super_csum()
328 int btrfs_verify_level_key(struct extent_buffer *eb, int level, in btrfs_verify_level_key() argument
331 struct btrfs_fs_info *fs_info = eb->fs_info; in btrfs_verify_level_key()
336 found_level = btrfs_header_level(eb); in btrfs_verify_level_key()
342 eb->start, level, found_level); in btrfs_verify_level_key()
355 if (btrfs_header_generation(eb) > fs_info->last_trans_committed) in btrfs_verify_level_key()
358 /* We have @first_key, so this @eb must have at least one item */ in btrfs_verify_level_key()
359 if (btrfs_header_nritems(eb) == 0) { in btrfs_verify_level_key()
362 eb->start); in btrfs_verify_level_key()
368 btrfs_node_key_to_cpu(eb, &found_key, 0); in btrfs_verify_level_key()
370 btrfs_item_key_to_cpu(eb, &found_key, 0); in btrfs_verify_level_key()
378 eb->start, parent_transid, first_key->objectid, in btrfs_verify_level_key()
394 static int btree_read_extent_buffer_pages(struct extent_buffer *eb, in btree_read_extent_buffer_pages() argument
398 struct btrfs_fs_info *fs_info = eb->fs_info; in btree_read_extent_buffer_pages()
407 while (1) { in btree_read_extent_buffer_pages()
408 clear_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags); in btree_read_extent_buffer_pages()
409 ret = read_extent_buffer_pages(eb, WAIT_COMPLETE, mirror_num); in btree_read_extent_buffer_pages()
411 if (verify_parent_transid(io_tree, eb, in btree_read_extent_buffer_pages()
414 else if (btrfs_verify_level_key(eb, level, in btree_read_extent_buffer_pages()
422 eb->start, eb->len); in btree_read_extent_buffer_pages()
423 if (num_copies == 1) in btree_read_extent_buffer_pages()
427 failed = 1; in btree_read_extent_buffer_pages()
428 failed_mirror = eb->read_mirror; in btree_read_extent_buffer_pages()
440 btrfs_repair_eb_io_failure(eb, failed_mirror); in btree_read_extent_buffer_pages()
456 struct extent_buffer *eb; in csum_dirty_buffer() local
459 eb = (struct extent_buffer *)page->private; in csum_dirty_buffer()
460 if (page != eb->pages[0]) in csum_dirty_buffer()
463 found_start = btrfs_header_bytenr(eb); in csum_dirty_buffer()
473 ASSERT(memcmp_extent_buffer(eb, fs_info->fs_devices->metadata_uuid, in csum_dirty_buffer()
477 csum_tree_block(eb, result); in csum_dirty_buffer()
479 if (btrfs_header_level(eb)) in csum_dirty_buffer()
480 ret = btrfs_check_node(eb); in csum_dirty_buffer()
482 ret = btrfs_check_leaf_full(eb); in csum_dirty_buffer()
485 btrfs_print_tree(eb, 0); in csum_dirty_buffer()
488 eb->start); in csum_dirty_buffer()
492 write_extent_buffer(eb, result, 0, csum_size); in csum_dirty_buffer()
497 static int check_tree_block_fsid(struct extent_buffer *eb) in check_tree_block_fsid() argument
499 struct btrfs_fs_info *fs_info = eb->fs_info; in check_tree_block_fsid()
504 read_extent_buffer(eb, fsid, offsetof(struct btrfs_header, fsid), in check_tree_block_fsid()
523 return 1; in check_tree_block_fsid()
532 struct extent_buffer *eb; in btrfs_validate_metadata_buffer() local
542 eb = (struct extent_buffer *)page->private; in btrfs_validate_metadata_buffer()
543 fs_info = eb->fs_info; in btrfs_validate_metadata_buffer()
549 atomic_inc(&eb->refs); in btrfs_validate_metadata_buffer()
551 reads_done = atomic_dec_and_test(&eb->io_pages); in btrfs_validate_metadata_buffer()
555 eb->read_mirror = mirror; in btrfs_validate_metadata_buffer()
556 if (test_bit(EXTENT_BUFFER_READ_ERR, &eb->bflags)) { in btrfs_validate_metadata_buffer()
561 found_start = btrfs_header_bytenr(eb); in btrfs_validate_metadata_buffer()
562 if (found_start != eb->start) { in btrfs_validate_metadata_buffer()
564 eb->start, found_start); in btrfs_validate_metadata_buffer()
568 if (check_tree_block_fsid(eb)) { in btrfs_validate_metadata_buffer()
570 eb->start); in btrfs_validate_metadata_buffer()
574 found_level = btrfs_header_level(eb); in btrfs_validate_metadata_buffer()
577 (int)btrfs_header_level(eb), eb->start); in btrfs_validate_metadata_buffer()
582 btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb), in btrfs_validate_metadata_buffer()
583 eb, found_level); in btrfs_validate_metadata_buffer()
585 csum_tree_block(eb, result); in btrfs_validate_metadata_buffer()
587 if (memcmp_extent_buffer(eb, result, 0, csum_size)) { in btrfs_validate_metadata_buffer()
590 read_extent_buffer(eb, &val, 0, csum_size); in btrfs_validate_metadata_buffer()
593 fs_info->sb->s_id, eb->start, in btrfs_validate_metadata_buffer()
596 btrfs_header_level(eb)); in btrfs_validate_metadata_buffer()
606 if (found_level == 0 && btrfs_check_leaf_full(eb)) { in btrfs_validate_metadata_buffer()
607 set_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags); in btrfs_validate_metadata_buffer()
611 if (found_level > 0 && btrfs_check_node(eb)) in btrfs_validate_metadata_buffer()
615 set_extent_buffer_uptodate(eb); in btrfs_validate_metadata_buffer()
619 eb->start); in btrfs_validate_metadata_buffer()
622 test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) in btrfs_validate_metadata_buffer()
623 btree_readahead_hook(eb, ret); in btrfs_validate_metadata_buffer()
631 atomic_inc(&eb->io_pages); in btrfs_validate_metadata_buffer()
632 clear_extent_buffer_uptodate(eb); in btrfs_validate_metadata_buffer()
634 free_extent_buffer(eb); in btrfs_validate_metadata_buffer()
813 return 1; in check_async_write()
928 struct extent_buffer *eb; in btree_set_page_dirty() local
931 eb = (struct extent_buffer *)page->private; in btree_set_page_dirty()
932 BUG_ON(!eb); in btree_set_page_dirty()
933 BUG_ON(!test_bit(EXTENT_BUFFER_DIRTY, &eb->bflags)); in btree_set_page_dirty()
934 BUG_ON(!atomic_read(&eb->refs)); in btree_set_page_dirty()
935 btrfs_assert_tree_locked(eb); in btree_set_page_dirty()
1048 INIT_LIST_HEAD(&root->logged_list[1]); in __setup_root()
1054 spin_lock_init(&root->log_extents_lock[1]); in __setup_root()
1063 init_waitqueue_head(&root->log_commit_wait[1]); in __setup_root()
1065 INIT_LIST_HEAD(&root->log_ctxs[1]); in __setup_root()
1067 atomic_set(&root->log_commit[1], 0); in __setup_root()
1070 refcount_set(&root->refs, 1); in __setup_root()
1074 root->log_transid_committed = -1; in __setup_root()
1172 btrfs_set_root_refs(&root->root_item, 1); in btrfs_create_tree()
1267 btrfs_set_stack_inode_generation(inode_item, 1); in btrfs_add_log_tree()
1269 btrfs_set_stack_inode_nlink(inode_item, 1); in btrfs_add_log_tree()
1279 root->log_transid_committed = -1; in btrfs_add_log_tree()
1381 * userspace, the id pool is limited to 1M in btrfs_init_fs_root()
1487 while (refcount_read(&root->refs) > 1) in btrfs_check_leaked_roots()
1567 key.offset = (u64)-1; in btrfs_get_root_ref()
1684 key.offset = (u64)-1; in btrfs_get_fs_root_commit_root()
1716 while (1) { in cleaner_kthread()
1883 info->backup_root_index = (next_backup + 1) % BTRFS_NUM_BACKUP_ROOTS; in backup_super_roots()
1947 * is the newest, prio 1/2/3 are 2nd newest/3rd newest/4th (oldest) backup roots
2082 while (1) { in btrfs_free_fs_roots()
2119 set_nlink(inode, 1); in btrfs_init_btree_inode()
2153 fs_info->qgroup_seq = 1; in btrfs_init_qgroup()
2181 btrfs_alloc_workqueue(fs_info, "fixup", flags, 1, 0); in btrfs_init_workqueues()
2213 btrfs_alloc_workqueue(fs_info, "qgroup-rescan", flags, 1, 0); in btrfs_init_workqueues()
2215 alloc_workqueue("btrfs_discard", WQ_UNBOUND | WQ_FREEZABLE, 1); in btrfs_init_workqueues()
2271 fs_info->generation + 1, in btrfs_replay_log()
2398 * 0 the primary (1st) sb
2399 * 1, 2 2nd and 3rd backup copy
2400 * -1 skip bytenr check
2518 if (btrfs_super_num_devices(sb) > (1UL << 31)) in validate_super()
2562 && btrfs_super_cache_generation(sb) != (u64)-1) in validate_super()
2592 ret = validate_super(fs_info, sb, -1); in btrfs_validate_write_super()
2673 btrfs_set_root_refs(&tree_root->root_item, 1); in init_tree_roots()
2702 fs_info->backup_root_index = backup_index + 1; in init_tree_roots()
2787 fs_info->first_logical_byte = (u64)-1; in btrfs_init_fs_info()
2802 sema_init(&fs_info->uuid_tree_rescan_sem, 1); in btrfs_init_fs_info()
2845 (1 + ilog2(nr_cpu_ids)); in init_mount_fs_info()
2871 * 1st step is to iterate through the existing UUID tree and in btrfs_uuid_rescan_kthread()
3045 fs_info->dirty_metadata_batch = nodesize * (1 + ilog2(nr_cpu_ids)); in open_ctree()
3046 fs_info->delalloc_batch = sectorsize * 512 * (1 + ilog2(nr_cpu_ids)); in open_ctree()
3207 btrfs_free_extra_devids(fs_devices, 1); in open_ctree()
3268 1 : 0, in open_ctree()
3327 clear_free_space_tree = 1; in open_ctree()
3331 clear_free_space_tree = 1; in open_ctree()
3529 for (i = 0; i < 1; i++) { in btrfs_read_dev_super()
3608 bio = bio_alloc(GFP_NOFS, 1); in write_dev_supers()
3627 return errors < i ? 0 : -1; in write_dev_supers()
3682 return -1; in wait_dev_supers()
3685 return errors < i ? 0 : -1; in wait_dev_supers()
3870 max_errors = btrfs_super_num_devices(fs_info->super_copy) - 1; in write_all_supers()
3996 while (1) { in btrfs_cleanup_fs_roots()
4005 root_objectid = gang[ret - 1]->root_key.objectid + 1; in btrfs_cleanup_fs_roots()
4224 WARN(1, KERN_CRIT "btrfs transid mismatch buffer %llu, found %llu running %llu\n", in btrfs_mark_buffer_dirty()
4270 __btrfs_btree_balance_dirty(fs_info, 1); in btrfs_btree_balance_dirty()
4372 btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); in btrfs_destroy_all_ordered_extents()
4444 head->bytenr + head->num_bytes - 1); in btrfs_destroy_delayed_refs()
4518 struct extent_buffer *eb; in btrfs_destroy_marked_extents() local
4522 while (1) { in btrfs_destroy_marked_extents()
4530 eb = find_extent_buffer(fs_info, start); in btrfs_destroy_marked_extents()
4532 if (!eb) in btrfs_destroy_marked_extents()
4534 wait_on_extent_buffer_writeback(eb); in btrfs_destroy_marked_extents()
4537 &eb->bflags)) in btrfs_destroy_marked_extents()
4538 clear_extent_buffer_dirty(eb); in btrfs_destroy_marked_extents()
4539 free_extent_buffer_stale(eb); in btrfs_destroy_marked_extents()
4553 while (1) { in btrfs_destroy_pinned_extent()
4620 btrfs_delayed_refs_rsv_release(fs_info, 1); in btrfs_cleanup_dirty_bgs()