Lines Matching refs:eb
196 void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, in btrfs_set_buffer_lockdep_class() argument
208 lockdep_set_class_and_name(&eb->lock, in btrfs_set_buffer_lockdep_class()
347 struct extent_buffer *eb, u64 parent_transid, in verify_parent_transid() argument
354 if (!parent_transid || btrfs_header_generation(eb) == parent_transid) in verify_parent_transid()
361 btrfs_tree_read_lock(eb); in verify_parent_transid()
362 btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK); in verify_parent_transid()
365 lock_extent_bits(io_tree, eb->start, eb->start + eb->len - 1, in verify_parent_transid()
367 if (extent_buffer_uptodate(eb) && in verify_parent_transid()
368 btrfs_header_generation(eb) == parent_transid) { in verify_parent_transid()
372 btrfs_err_rl(eb->fs_info, in verify_parent_transid()
374 eb->start, in verify_parent_transid()
375 parent_transid, btrfs_header_generation(eb)); in verify_parent_transid()
386 if (!extent_buffer_under_io(eb)) in verify_parent_transid()
387 clear_extent_buffer_uptodate(eb); in verify_parent_transid()
389 unlock_extent_cached(io_tree, eb->start, eb->start + eb->len - 1, in verify_parent_transid()
392 btrfs_tree_read_unlock_blocking(eb); in verify_parent_transid()
439 struct extent_buffer *eb, in btree_read_extent_buffer_pages() argument
451 clear_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags); in btree_read_extent_buffer_pages()
452 ret = read_extent_buffer_pages(io_tree, eb, start, in btree_read_extent_buffer_pages()
456 if (!verify_parent_transid(io_tree, eb, in btree_read_extent_buffer_pages()
464 eb->start, eb->len); in btree_read_extent_buffer_pages()
470 failed_mirror = eb->read_mirror; in btree_read_extent_buffer_pages()
482 repair_eb_io_failure(root, eb, failed_mirror); in btree_read_extent_buffer_pages()
496 struct extent_buffer *eb; in csum_dirty_buffer() local
498 eb = (struct extent_buffer *)page->private; in csum_dirty_buffer()
499 if (page != eb->pages[0]) in csum_dirty_buffer()
501 found_start = btrfs_header_bytenr(eb); in csum_dirty_buffer()
504 csum_tree_block(fs_info, eb, 0); in csum_dirty_buffer()
509 struct extent_buffer *eb) in check_tree_block_fsid() argument
515 read_extent_buffer(eb, fsid, btrfs_header_fsid(), BTRFS_FSID_SIZE); in check_tree_block_fsid()
532 struct extent_buffer *eb; in btree_readpage_end_io_hook() local
540 eb = (struct extent_buffer *)page->private; in btree_readpage_end_io_hook()
545 extent_buffer_get(eb); in btree_readpage_end_io_hook()
547 reads_done = atomic_dec_and_test(&eb->io_pages); in btree_readpage_end_io_hook()
551 eb->read_mirror = mirror; in btree_readpage_end_io_hook()
552 if (test_bit(EXTENT_BUFFER_READ_ERR, &eb->bflags)) { in btree_readpage_end_io_hook()
557 found_start = btrfs_header_bytenr(eb); in btree_readpage_end_io_hook()
558 if (found_start != eb->start) { in btree_readpage_end_io_hook()
559 btrfs_err_rl(eb->fs_info, "bad tree block start %llu %llu", in btree_readpage_end_io_hook()
560 found_start, eb->start); in btree_readpage_end_io_hook()
564 if (check_tree_block_fsid(root->fs_info, eb)) { in btree_readpage_end_io_hook()
565 btrfs_err_rl(eb->fs_info, "bad fsid on block %llu", in btree_readpage_end_io_hook()
566 eb->start); in btree_readpage_end_io_hook()
570 found_level = btrfs_header_level(eb); in btree_readpage_end_io_hook()
573 (int)btrfs_header_level(eb)); in btree_readpage_end_io_hook()
578 btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb), in btree_readpage_end_io_hook()
579 eb, found_level); in btree_readpage_end_io_hook()
581 ret = csum_tree_block(root->fs_info, eb, 1); in btree_readpage_end_io_hook()
592 if (found_level == 0 && btrfs_check_leaf_full(root, eb)) { in btree_readpage_end_io_hook()
593 set_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags); in btree_readpage_end_io_hook()
597 if (found_level > 0 && btrfs_check_node(root, eb)) in btree_readpage_end_io_hook()
601 set_extent_buffer_uptodate(eb); in btree_readpage_end_io_hook()
604 test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) in btree_readpage_end_io_hook()
605 btree_readahead_hook(root, eb, eb->start, ret); in btree_readpage_end_io_hook()
613 atomic_inc(&eb->io_pages); in btree_readpage_end_io_hook()
614 clear_extent_buffer_uptodate(eb); in btree_readpage_end_io_hook()
616 free_extent_buffer(eb); in btree_readpage_end_io_hook()
623 struct extent_buffer *eb; in btree_io_failed_hook() local
626 eb = (struct extent_buffer *)page->private; in btree_io_failed_hook()
627 set_bit(EXTENT_BUFFER_READ_ERR, &eb->bflags); in btree_io_failed_hook()
628 eb->read_mirror = failed_mirror; in btree_io_failed_hook()
629 atomic_dec(&eb->io_pages); in btree_io_failed_hook()
630 if (test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) in btree_io_failed_hook()
631 btree_readahead_hook(root, eb, eb->start, -EIO); in btree_io_failed_hook()
988 struct extent_buffer *eb; in btree_set_page_dirty() local
991 eb = (struct extent_buffer *)page->private; in btree_set_page_dirty()
992 BUG_ON(!eb); in btree_set_page_dirty()
993 BUG_ON(!test_bit(EXTENT_BUFFER_DIRTY, &eb->bflags)); in btree_set_page_dirty()
994 BUG_ON(!atomic_read(&eb->refs)); in btree_set_page_dirty()
995 btrfs_assert_tree_locked(eb); in btree_set_page_dirty()
1025 int mirror_num, struct extent_buffer **eb) in reada_tree_block_flagged() argument
1049 *eb = buf; in reada_tree_block_flagged()
4262 struct extent_buffer *eb; in btrfs_destroy_marked_extents() local
4274 eb = btrfs_find_tree_block(root->fs_info, start); in btrfs_destroy_marked_extents()
4276 if (!eb) in btrfs_destroy_marked_extents()
4278 wait_on_extent_buffer_writeback(eb); in btrfs_destroy_marked_extents()
4281 &eb->bflags)) in btrfs_destroy_marked_extents()
4282 clear_extent_buffer_dirty(eb); in btrfs_destroy_marked_extents()
4283 free_extent_buffer_stale(eb); in btrfs_destroy_marked_extents()