Lines Matching refs:eb

339 	int (*process_func)(struct btrfs_root *log, struct extent_buffer *eb,
347 struct extent_buffer *eb, in process_one_buffer() argument
363 ret = btrfs_read_extent_buffer(eb, &check); in process_one_buffer()
369 ret = btrfs_pin_extent_for_log_replay(wc->trans, eb); in process_one_buffer()
373 if (btrfs_buffer_uptodate(eb, gen, 0) && in process_one_buffer()
374 btrfs_header_level(eb) == 0) in process_one_buffer()
375 ret = btrfs_exclude_logged_extents(eb); in process_one_buffer()
397 struct extent_buffer *eb, int slot, in overwrite_item() argument
419 item_size = btrfs_item_size(eb, slot); in overwrite_item()
420 src_ptr = btrfs_item_ptr_offset(eb, slot); in overwrite_item()
447 read_extent_buffer(eb, src_copy, src_ptr, item_size); in overwrite_item()
475 item = btrfs_item_ptr(eb, slot, in overwrite_item()
477 btrfs_set_inode_nbytes(eb, item, nbytes); in overwrite_item()
484 mode = btrfs_inode_mode(eb, item); in overwrite_item()
486 btrfs_set_inode_size(eb, item, 0); in overwrite_item()
496 item = btrfs_item_ptr(eb, slot, struct btrfs_inode_item); in overwrite_item()
497 btrfs_set_inode_nbytes(eb, item, 0); in overwrite_item()
504 mode = btrfs_inode_mode(eb, item); in overwrite_item()
506 btrfs_set_inode_size(eb, item, 0); in overwrite_item()
548 if (btrfs_inode_generation(eb, src_item) == 0) { in overwrite_item()
549 const u64 ino_size = btrfs_inode_size(eb, src_item); in overwrite_item()
558 if (S_ISREG(btrfs_inode_mode(eb, src_item)) && in overwrite_item()
565 if (S_ISDIR(btrfs_inode_mode(eb, src_item)) && in overwrite_item()
572 copy_extent_buffer(dst_eb, eb, dst_ptr, src_ptr, item_size); in overwrite_item()
594 static int read_alloc_one_name(struct extent_buffer *eb, void *start, int len, in read_alloc_one_name() argument
603 read_extent_buffer(eb, buf, (unsigned long)start, len); in read_alloc_one_name()
624 struct extent_buffer *eb, int slot, in replay_one_extent() argument
638 item = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in replay_one_extent()
639 found_type = btrfs_file_extent_type(eb, item); in replay_one_extent()
643 nbytes = btrfs_file_extent_num_bytes(eb, item); in replay_one_extent()
650 if (btrfs_file_extent_disk_bytenr(eb, item) == 0) in replay_one_extent()
653 size = btrfs_file_extent_ram_bytes(eb, item); in replay_one_extent()
654 nbytes = btrfs_file_extent_ram_bytes(eb, item); in replay_one_extent()
688 if (memcmp_extent_buffer(eb, &existing, (unsigned long)item, in replay_one_extent()
710 if (btrfs_file_extent_disk_bytenr(eb, item) == 0 && in replay_one_extent()
720 copy_extent_buffer(path->nodes[0], eb, dest_offset, in replay_one_extent()
723 ins.objectid = btrfs_file_extent_disk_bytenr(eb, item); in replay_one_extent()
725 ins.offset = btrfs_file_extent_disk_num_bytes(eb, item); in replay_one_extent()
726 offset = key->offset - btrfs_file_extent_offset(eb, item); in replay_one_extent()
737 btrfs_file_extent_disk_bytenr(eb, item), in replay_one_extent()
738 btrfs_file_extent_disk_num_bytes(eb, item)); in replay_one_extent()
781 if (btrfs_file_extent_compression(eb, item)) { in replay_one_extent()
786 btrfs_file_extent_offset(eb, item); in replay_one_extent()
788 btrfs_file_extent_num_bytes(eb, item); in replay_one_extent()
873 ret = overwrite_item(trans, root, path, eb, slot, key); in replay_one_extent()
1243 static int extref_get_fields(struct extent_buffer *eb, unsigned long ref_ptr, in extref_get_fields() argument
1252 ret = read_alloc_one_name(eb, &extref->name, in extref_get_fields()
1253 btrfs_inode_extref_name_len(eb, extref), name); in extref_get_fields()
1258 *index = btrfs_inode_extref_index(eb, extref); in extref_get_fields()
1260 *parent_objectid = btrfs_inode_extref_parent(eb, extref); in extref_get_fields()
1265 static int ref_get_fields(struct extent_buffer *eb, unsigned long ref_ptr, in ref_get_fields() argument
1273 ret = read_alloc_one_name(eb, ref + 1, btrfs_inode_ref_name_len(eb, ref), in ref_get_fields()
1279 *index = btrfs_inode_ref_index(eb, ref); in ref_get_fields()
1302 struct extent_buffer *eb; in unlink_old_inode_refs() local
1314 eb = path->nodes[0]; in unlink_old_inode_refs()
1315 ref_ptr = btrfs_item_ptr_offset(eb, path->slots[0]); in unlink_old_inode_refs()
1316 ref_end = ref_ptr + btrfs_item_size(eb, path->slots[0]); in unlink_old_inode_refs()
1322 ret = extref_get_fields(eb, ref_ptr, &name, in unlink_old_inode_refs()
1326 ret = ref_get_fields(eb, ref_ptr, &name, NULL); in unlink_old_inode_refs()
1378 struct extent_buffer *eb, int slot, in add_inode_ref() argument
1393 ref_ptr = btrfs_item_ptr_offset(eb, slot); in add_inode_ref()
1394 ref_end = ref_ptr + btrfs_item_size(eb, slot); in add_inode_ref()
1401 parent_objectid = btrfs_inode_extref_parent(eb, r); in add_inode_ref()
1432 ret = extref_get_fields(eb, ref_ptr, &name, in add_inode_ref()
1465 ret = ref_get_fields(eb, ref_ptr, &name, &ref_index); in add_inode_ref()
1520 ret = unlink_old_inode_refs(trans, root, path, inode, eb, slot, key); in add_inode_ref()
1525 ret = overwrite_item(trans, root, path, eb, slot, key); in add_inode_ref()
1876 struct extent_buffer *eb, in replay_one_name() argument
1898 ret = read_alloc_one_name(eb, di + 1, btrfs_dir_name_len(eb, di), &name); in replay_one_name()
1902 log_flags = btrfs_dir_flags(eb, di); in replay_one_name()
1903 btrfs_dir_item_key_to_cpu(eb, di, &log_key); in replay_one_name()
2003 struct extent_buffer *eb, int slot, in replay_one_dir_item() argument
2012 di = btrfs_item_ptr(eb, slot, struct btrfs_dir_item); in replay_one_dir_item()
2013 ret = replay_one_name(trans, root, path, eb, di, key); in replay_one_dir_item()
2043 if (ret == 1 && btrfs_dir_ftype(eb, di) != BTRFS_FT_DIR) { in replay_one_dir_item()
2051 btrfs_dir_item_key_to_cpu(eb, di, &di_key); in replay_one_dir_item()
2155 struct extent_buffer *eb; in check_item_in_log() local
2170 eb = path->nodes[0]; in check_item_in_log()
2172 di = btrfs_item_ptr(eb, slot, struct btrfs_dir_item); in check_item_in_log()
2173 ret = read_alloc_one_name(eb, di + 1, btrfs_dir_name_len(eb, di), &name); in check_item_in_log()
2193 btrfs_dir_item_key_to_cpu(eb, di, &location); in check_item_in_log()
2438 static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb, in replay_one_buffer() argument
2452 ret = btrfs_read_extent_buffer(eb, &check); in replay_one_buffer()
2456 level = btrfs_header_level(eb); in replay_one_buffer()
2465 nritems = btrfs_header_nritems(eb); in replay_one_buffer()
2469 btrfs_item_key_to_cpu(eb, &key, i); in replay_one_buffer()
2472 inode_item = btrfs_item_ptr(eb, i, struct btrfs_inode_item); in replay_one_buffer()
2492 if (btrfs_inode_nlink(eb, inode_item) == 0) { in replay_one_buffer()
2508 mode = btrfs_inode_mode(eb, inode_item); in replay_one_buffer()
2516 eb, i, &key); in replay_one_buffer()
2568 eb, i, &key); in replay_one_buffer()
2579 eb, i, &key); in replay_one_buffer()
2585 eb, i, &key); in replay_one_buffer()
2590 eb, i, &key); in replay_one_buffer()
2631 struct extent_buffer *eb) in clean_log_buffer() argument
2633 btrfs_tree_lock(eb); in clean_log_buffer()
2634 btrfs_clear_buffer_dirty(trans, eb); in clean_log_buffer()
2635 wait_on_extent_buffer_writeback(eb); in clean_log_buffer()
2636 btrfs_tree_unlock(eb); in clean_log_buffer()
2639 return btrfs_pin_reserved_extent(trans, eb); in clean_log_buffer()
2641 return unaccount_log_buffer(eb->fs_info, eb->start); in clean_log_buffer()
5316 static int btrfs_check_ref_name_override(struct extent_buffer *eb, in btrfs_check_ref_name_override() argument
5326 u32 item_size = btrfs_item_size(eb, slot); in btrfs_check_ref_name_override()
5328 unsigned long ptr = btrfs_item_ptr_offset(eb, slot); in btrfs_check_ref_name_override()
5349 this_name_len = btrfs_inode_ref_name_len(eb, iref); in btrfs_check_ref_name_override()
5357 parent = btrfs_inode_extref_parent(eb, extref); in btrfs_check_ref_name_override()
5358 this_name_len = btrfs_inode_extref_name_len(eb, extref); in btrfs_check_ref_name_override()
5375 read_extent_buffer(eb, name, name_ptr, this_name_len); in btrfs_check_ref_name_override()