Lines Matching refs:key
398 struct btrfs_key *key) in overwrite_item() argument
408 bool inode_item = key->type == BTRFS_INODE_ITEM_KEY; in overwrite_item()
423 ret = btrfs_search_slot(NULL, root, key, path, 0, 0); in overwrite_item()
513 key, item_size); in overwrite_item()
541 if (key->type == BTRFS_INODE_ITEM_KEY && ret == -EEXIST) { in overwrite_item()
582 if (key->type == BTRFS_INODE_ITEM_KEY) { in overwrite_item()
625 struct btrfs_key *key) in replay_one_extent() argument
631 u64 start = key->offset; in replay_one_extent()
660 found_type, btrfs_root_id(root), key->objectid, key->offset); in replay_one_extent()
664 inode = btrfs_iget_logging(key->objectid, root); in replay_one_extent()
714 ret = btrfs_insert_empty_item(trans, root, path, key, in replay_one_extent()
726 offset = key->offset - btrfs_file_extent_offset(eb, item); in replay_one_extent()
763 btrfs_init_data_ref(&ref, key->objectid, offset, in replay_one_extent()
775 key->objectid, offset, &ins); in replay_one_extent()
873 ret = overwrite_item(trans, root, path, eb, slot, key); in replay_one_extent()
1012 struct btrfs_key *key, in backref_in_log() argument
1023 ret = btrfs_search_slot(NULL, log, key, path, 0, 0); in backref_in_log()
1031 if (key->type == BTRFS_INODE_EXTREF_KEY) in backref_in_log()
1297 struct btrfs_key *key) in unlink_old_inode_refs() argument
1306 ret = btrfs_search_slot(NULL, root, key, path, 0, 0); in unlink_old_inode_refs()
1321 if (key->type == BTRFS_INODE_EXTREF_KEY) { in unlink_old_inode_refs()
1325 parent_id = key->offset; in unlink_old_inode_refs()
1331 if (key->type == BTRFS_INODE_EXTREF_KEY) in unlink_old_inode_refs()
1357 if (key->type == BTRFS_INODE_EXTREF_KEY) in unlink_old_inode_refs()
1379 struct btrfs_key *key) in add_inode_ref() argument
1387 const bool is_extref_item = (key->type == BTRFS_INODE_EXTREF_KEY); in add_inode_ref()
1404 parent_objectid = key->offset; in add_inode_ref()
1406 inode_objectid = key->objectid; 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()
1582 struct btrfs_key key; in count_inode_refs() local
1589 key.objectid = ino; in count_inode_refs()
1590 key.type = BTRFS_INODE_REF_KEY; in count_inode_refs()
1591 key.offset = (u64)-1; in count_inode_refs()
1594 ret = btrfs_search_slot(NULL, inode->root, &key, path, 0, 0); in count_inode_refs()
1603 btrfs_item_key_to_cpu(path->nodes[0], &key, in count_inode_refs()
1605 if (key.objectid != ino || in count_inode_refs()
1606 key.type != BTRFS_INODE_REF_KEY) in count_inode_refs()
1621 if (key.offset == 0) in count_inode_refs()
1627 key.offset--; in count_inode_refs()
1702 struct btrfs_key key; in fixup_inode_link_counts() local
1704 key.objectid = BTRFS_TREE_LOG_FIXUP_OBJECTID; in fixup_inode_link_counts()
1705 key.type = BTRFS_ORPHAN_ITEM_KEY; in fixup_inode_link_counts()
1706 key.offset = (u64)-1; in fixup_inode_link_counts()
1710 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in fixup_inode_link_counts()
1721 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in fixup_inode_link_counts()
1722 if (key.objectid != BTRFS_TREE_LOG_FIXUP_OBJECTID || in fixup_inode_link_counts()
1723 key.type != BTRFS_ORPHAN_ITEM_KEY) in fixup_inode_link_counts()
1731 inode = btrfs_iget_logging(key.offset, root); in fixup_inode_link_counts()
1747 key.offset = (u64)-1; in fixup_inode_link_counts()
1764 struct btrfs_key key; in link_to_fixup_dir() local
1774 key.objectid = BTRFS_TREE_LOG_FIXUP_OBJECTID; in link_to_fixup_dir()
1775 key.type = BTRFS_ORPHAN_ITEM_KEY; in link_to_fixup_dir()
1776 key.offset = objectid; in link_to_fixup_dir()
1778 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in link_to_fixup_dir()
1878 struct btrfs_key *key) in replay_one_name() argument
1894 dir = btrfs_iget_logging(key->objectid, root); in replay_one_name()
1911 dir_dst_di = btrfs_lookup_dir_item(trans, root, path, key->objectid, in replay_one_name()
1927 key->objectid, key->offset, in replay_one_name()
1954 search_key.offset = key->objectid; in replay_one_name()
1967 search_key.offset = key->objectid; in replay_one_name()
1968 ret = backref_in_log(root->log_root, &search_key, key->objectid, &name); in replay_one_name()
1978 ret = insert_one_name(trans, root, key->objectid, key->offset, in replay_one_name()
2004 struct btrfs_key *key) in replay_one_dir_item() argument
2010 ASSERT(key->type == BTRFS_DIR_INDEX_KEY); in replay_one_dir_item()
2013 ret = replay_one_name(trans, root, path, eb, di, key); in replay_one_dir_item()
2075 struct btrfs_key key; in find_dir_range() local
2084 key.objectid = dirid; in find_dir_range()
2085 key.type = BTRFS_DIR_LOG_INDEX_KEY; in find_dir_range()
2086 key.offset = *start_ret; in find_dir_range()
2088 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in find_dir_range()
2097 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in find_dir_range()
2099 if (key.type != BTRFS_DIR_LOG_INDEX_KEY || key.objectid != dirid) { in find_dir_range()
2107 if (*start_ret >= key.offset && *start_ret <= found_end) { in find_dir_range()
2109 *start_ret = key.offset; in find_dir_range()
2124 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in find_dir_range()
2126 if (key.type != BTRFS_DIR_LOG_INDEX_KEY || key.objectid != dirid) { in find_dir_range()
2133 *start_ret = key.offset; in find_dir_range()
2249 struct btrfs_key key; in replay_xattr_deletes() local
2255 btrfs_item_key_to_cpu(path->nodes[0], &key, i); in replay_xattr_deletes()
2256 if (key.objectid != ino || key.type != BTRFS_XATTR_ITEM_KEY) { in replay_xattr_deletes()
2297 search_key = key; in replay_xattr_deletes()
2448 struct btrfs_key key; in replay_one_buffer() local
2469 btrfs_item_key_to_cpu(eb, &key, i); in replay_one_buffer()
2471 if (key.type == BTRFS_INODE_ITEM_KEY) { in replay_one_buffer()
2501 if (key.type == BTRFS_INODE_ITEM_KEY && in replay_one_buffer()
2505 ret = replay_xattr_deletes(wc->trans, root, log, path, key.objectid); in replay_one_buffer()
2511 key.objectid, false); in replay_one_buffer()
2516 eb, i, &key); in replay_one_buffer()
2533 inode = btrfs_iget_logging(key.objectid, root); in replay_one_buffer()
2557 path, key.objectid); in replay_one_buffer()
2565 if (key.type == BTRFS_DIR_INDEX_KEY && in replay_one_buffer()
2568 eb, i, &key); in replay_one_buffer()
2577 if (key.type == BTRFS_XATTR_ITEM_KEY) { in replay_one_buffer()
2579 eb, i, &key); in replay_one_buffer()
2582 } else if (key.type == BTRFS_INODE_REF_KEY || in replay_one_buffer()
2583 key.type == BTRFS_INODE_EXTREF_KEY) { in replay_one_buffer()
2585 eb, i, &key); in replay_one_buffer()
2588 } else if (key.type == BTRFS_EXTENT_DATA_KEY) { in replay_one_buffer()
2590 eb, i, &key); in replay_one_buffer()
3357 struct btrfs_key key; in inode_logged() local
3406 key.objectid = btrfs_ino(inode); in inode_logged()
3407 key.type = BTRFS_INODE_ITEM_KEY; in inode_logged()
3408 key.offset = 0; in inode_logged()
3416 ret = btrfs_search_slot(NULL, inode->root->log_root, &key, path, 0, 0); in inode_logged()
3599 struct btrfs_key key; in insert_dir_log_key() local
3602 key.objectid = dirid; in insert_dir_log_key()
3603 key.type = BTRFS_DIR_LOG_INDEX_KEY; in insert_dir_log_key()
3604 key.offset = first_offset; in insert_dir_log_key()
3605 ret = btrfs_insert_empty_item(trans, log, path, &key, sizeof(*item)); in insert_dir_log_key()
3648 struct btrfs_key key; in flush_dir_items_batch() local
3657 btrfs_item_key_to_cpu(src, &key, start_slot); in flush_dir_items_batch()
3659 batch.keys = &key; in flush_dir_items_batch()
3779 struct btrfs_key key; in process_dir_items_leaf() local
3782 btrfs_item_key_to_cpu(src, &key, i); in process_dir_items_leaf()
3784 if (key.objectid != ino || key.type != BTRFS_DIR_INDEX_KEY) { in process_dir_items_leaf()
3798 if (key.offset > *last_old_dentry_offset + 1) { in process_dir_items_leaf()
3801 key.offset - 1); in process_dir_items_leaf()
3806 *last_old_dentry_offset = key.offset; in process_dir_items_leaf()
3811 if (key.offset <= inode->last_dir_index_offset) in process_dir_items_leaf()
4059 struct btrfs_key key; in update_last_dir_index_offset() local
4072 key.objectid = ino; in update_last_dir_index_offset()
4073 key.type = BTRFS_DIR_INDEX_KEY; in update_last_dir_index_offset()
4074 key.offset = (u64)-1; in update_last_dir_index_offset()
4076 ret = btrfs_search_slot(NULL, inode->root->log_root, &key, path, 0, 0); in update_last_dir_index_offset()
4101 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0] - 1); in update_last_dir_index_offset()
4102 if (key.objectid == ino && key.type == BTRFS_DIR_INDEX_KEY) in update_last_dir_index_offset()
4103 inode->last_dir_index_offset = key.offset; in update_last_dir_index_offset()
4166 struct btrfs_key key; in drop_inode_items() local
4170 key.objectid = btrfs_ino(inode); in drop_inode_items()
4171 key.type = max_key_type; in drop_inode_items()
4172 key.offset = (u64)-1; in drop_inode_items()
4175 ret = btrfs_search_slot(trans, log, &key, path, -1, 1); in drop_inode_items()
4187 if (found_key.objectid != key.objectid) in drop_inode_items()
4288 struct btrfs_key key; in log_inode_item() local
4291 btrfs_get_inode_key(inode, &key); in log_inode_item()
4303 ret = btrfs_search_slot(trans, log, &key, path, 0, 1); in log_inode_item()
4317 ret = btrfs_insert_empty_item(trans, log, path, &key, in log_inode_item()
4554 struct btrfs_key key; in copy_items() local
4565 btrfs_item_key_to_cpu(src, &key, src_slot); in copy_items()
4567 if (key.type != BTRFS_EXTENT_DATA_KEY) in copy_items()
4575 key.offset < i_size && in copy_items()
4583 if (key.type == BTRFS_INODE_ITEM_KEY) { in copy_items()
4743 struct btrfs_key key; in log_one_extent() local
4796 key.objectid = btrfs_ino(inode); in log_one_extent()
4797 key.type = BTRFS_EXTENT_DATA_KEY; in log_one_extent()
4798 key.offset = em->start; in log_one_extent()
4800 ret = btrfs_insert_empty_item(trans, log, path, &key, in log_one_extent()
4829 struct btrfs_key key; in btrfs_log_prealloc_extents() local
4844 key.objectid = ino; in btrfs_log_prealloc_extents()
4845 key.type = BTRFS_EXTENT_DATA_KEY; in btrfs_log_prealloc_extents()
4846 key.offset = i_size; in btrfs_log_prealloc_extents()
4847 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_prealloc_extents()
4874 btrfs_item_key_to_cpu(leaf, &key, slot); in btrfs_log_prealloc_extents()
4875 extent_end = key.offset + in btrfs_log_prealloc_extents()
4907 btrfs_item_key_to_cpu(leaf, &key, slot); in btrfs_log_prealloc_extents()
4908 if (key.objectid > ino) in btrfs_log_prealloc_extents()
4910 if (WARN_ON_ONCE(key.objectid < ino) || in btrfs_log_prealloc_extents()
4911 key.type < BTRFS_EXTENT_DATA_KEY || in btrfs_log_prealloc_extents()
4912 key.offset < i_size) { in btrfs_log_prealloc_extents()
4924 if (!dropped_extents || key.offset < truncate_offset) { in btrfs_log_prealloc_extents()
4926 min(key.offset, truncate_offset), in btrfs_log_prealloc_extents()
5058 struct btrfs_key key; in logged_inode_size() local
5061 key.objectid = btrfs_ino(inode); in logged_inode_size()
5062 key.type = BTRFS_INODE_ITEM_KEY; in logged_inode_size()
5063 key.offset = 0; in logged_inode_size()
5065 ret = btrfs_search_slot(NULL, log, &key, path, 0, 0); in logged_inode_size()
5112 struct btrfs_key key; in btrfs_log_all_xattrs() local
5121 key.objectid = ino; in btrfs_log_all_xattrs()
5122 key.type = BTRFS_XATTR_ITEM_KEY; in btrfs_log_all_xattrs()
5123 key.offset = 0; in btrfs_log_all_xattrs()
5125 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_xattrs()
5150 btrfs_item_key_to_cpu(leaf, &key, slot); in btrfs_log_all_xattrs()
5151 if (key.objectid != ino || key.type != BTRFS_XATTR_ITEM_KEY) in btrfs_log_all_xattrs()
5189 struct btrfs_key key; in btrfs_log_holes() local
5198 key.objectid = ino; in btrfs_log_holes()
5199 key.type = BTRFS_EXTENT_DATA_KEY; in btrfs_log_holes()
5200 key.offset = 0; in btrfs_log_holes()
5202 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_holes()
5220 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_log_holes()
5221 if (key.objectid != ino || key.type != BTRFS_EXTENT_DATA_KEY) in btrfs_log_holes()
5225 if (prev_extent_end < key.offset) { in btrfs_log_holes()
5226 const u64 hole_len = key.offset - prev_extent_end; in btrfs_log_holes()
5247 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_holes()
5318 const struct btrfs_key *key, in btrfs_check_ref_name_override() argument
5344 if (key->type == BTRFS_INODE_REF_KEY) { in btrfs_check_ref_name_override()
5348 parent = key->offset; in btrfs_check_ref_name_override()
5387 if (di_key.objectid != key->objectid) { in btrfs_check_ref_name_override()
5517 struct btrfs_key key; in log_new_dir_dentries() local
5523 key.objectid = ino; in log_new_dir_dentries()
5524 key.type = BTRFS_DIR_INDEX_KEY; in log_new_dir_dentries()
5525 key.offset = btrfs_get_first_dir_index_to_log(curr_inode); in log_new_dir_dentries()
5526 next_index = key.offset; in log_new_dir_dentries()
5528 btrfs_for_each_slot(root->log_root, &key, &found_key, path, iter_ret) { in log_new_dir_dentries()
5591 key = found_key; in log_new_dir_dentries()
5594 if (continue_curr_inode && key.offset < (u64)-1) { in log_new_dir_dentries()
5595 key.offset++; in log_new_dir_dentries()
5653 struct btrfs_key key; in conflicting_inode_is_dir() local
5656 key.objectid = ino; in conflicting_inode_is_dir()
5657 key.type = BTRFS_INODE_ITEM_KEY; in conflicting_inode_is_dir()
5658 key.offset = 0; in conflicting_inode_is_dir()
5663 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in conflicting_inode_is_dir()
6246 struct btrfs_key key; in batch_delete_dir_index_items() local
6248 btrfs_item_key_to_cpu(leaf, &key, slot); in batch_delete_dir_index_items()
6249 if (key.objectid != ino || in batch_delete_dir_index_items()
6250 key.type != BTRFS_DIR_INDEX_KEY || in batch_delete_dir_index_items()
6251 key.offset != next->index) in batch_delete_dir_index_items()
6273 struct btrfs_key key; in log_delayed_deletions_incremental() local
6275 key.objectid = btrfs_ino(inode); in log_delayed_deletions_incremental()
6276 key.type = BTRFS_DIR_INDEX_KEY; in log_delayed_deletions_incremental()
6287 key.offset = curr->index; in log_delayed_deletions_incremental()
6288 ret = btrfs_search_slot(trans, log, &key, path, -1, 1); in log_delayed_deletions_incremental()
6321 ret = insert_dir_log_key(trans, log, path, key.objectid, in log_delayed_deletions_incremental()
6384 struct btrfs_key key; in log_new_delayed_dentries() local
6388 btrfs_disk_key_to_cpu(&key, &dir_item->location); in log_new_delayed_dentries()
6390 if (key.type == BTRFS_ROOT_ITEM_KEY) in log_new_delayed_dentries()
6393 di_inode = btrfs_iget_logging(key.objectid, inode->root); in log_new_delayed_dentries()
6792 struct btrfs_key key; in btrfs_log_all_parents() local
6802 key.objectid = ino; in btrfs_log_all_parents()
6803 key.type = BTRFS_INODE_REF_KEY; in btrfs_log_all_parents()
6804 key.offset = 0; in btrfs_log_all_parents()
6805 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_parents()
6825 btrfs_item_key_to_cpu(leaf, &key, slot); in btrfs_log_all_parents()
6827 if (key.objectid != ino || key.type > BTRFS_INODE_EXTREF_KEY) in btrfs_log_all_parents()
6839 if (key.type == BTRFS_INODE_EXTREF_KEY) { in btrfs_log_all_parents()
6850 inode_key.objectid = key.offset; in btrfs_log_all_parents()
7245 struct btrfs_key key; in btrfs_recover_log_trees() local
7274 key.objectid = BTRFS_TREE_LOG_OBJECTID; in btrfs_recover_log_trees()
7275 key.type = BTRFS_ROOT_ITEM_KEY; in btrfs_recover_log_trees()
7276 key.offset = (u64)-1; in btrfs_recover_log_trees()
7282 ret = btrfs_search_slot(NULL, log_root_tree, &key, path, 0, 0); in btrfs_recover_log_trees()
7383 key.offset = found_key.offset - 1; in btrfs_recover_log_trees()