BTRFS_I
BTRFS_I(inode)->generation = 0;
ret = btrfs_update_inode(trans, BTRFS_I(inode));
ret = btrfs_check_data_free_space(BTRFS_I(inode), &data_reserved, 0,
em_tree = &BTRFS_I(inode)->extent_tree;
tree = &BTRFS_I(inode)->io_tree;
struct btrfs_inode *inode = BTRFS_I(mapping->host);
struct extent_map_tree *em_tree = &BTRFS_I(inode)->extent_tree;
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
const u32 sectorsize = BTRFS_I(inode)->root->fs_info->sectorsize;
em = defrag_get_extent(BTRFS_I(inode), start, newer_than);
btrfs_inode_lock(BTRFS_I(inode), BTRFS_ILOCK_SHARED);
btrfs_inode_unlock(BTRFS_I(inode), BTRFS_ILOCK_SHARED);
((BTRFS_I(inode)->flags & BTRFS_INODE_NODATACOW) &&
if (can_nocow_extent(BTRFS_I(inode), start, &len, &file_extent,
ret = btrfs_delalloc_reserve_metadata(BTRFS_I(inode), len, len,
em2 = btrfs_create_dio_extent(BTRFS_I(inode), dio_data, start,
ret = btrfs_delalloc_reserve_metadata(BTRFS_I(inode), len, len,
em = btrfs_new_extent_direct(BTRFS_I(inode), dio_data, start, len);
btrfs_delalloc_release_metadata(BTRFS_I(inode),
btrfs_delalloc_release_extents(BTRFS_I(inode), prev_len);
btrfs_delalloc_release_extents(BTRFS_I(inode), len);
btrfs_delalloc_release_metadata(BTRFS_I(inode), len, true);
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
&BTRFS_I(inode)->runtime_flags)) {
ret = btrfs_check_data_free_space(BTRFS_I(inode),
else if (!(BTRFS_I(inode)->flags &
em = btrfs_get_extent(BTRFS_I(inode), NULL, start, len);
btrfs_free_reserved_data_space(BTRFS_I(inode),
btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, lockstart, lockend,
btrfs_unlock_dio_extent(&BTRFS_I(inode)->io_tree, start + len,
btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, lockstart, lockend,
btrfs_free_reserved_data_space(BTRFS_I(inode),
btrfs_unlock_dio_extent(&BTRFS_I(inode)->io_tree, pos,
btrfs_unlock_dio_extent(&BTRFS_I(inode)->io_tree, pos,
ordered = btrfs_lookup_ordered_range(BTRFS_I(inode), lockstart,
btrfs_bio_init(bbio, BTRFS_I(iter->inode), file_offset,
ret = btrfs_inode_lock(BTRFS_I(inode), ilock_flags);
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
if (!(BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM)) {
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
ret = btrfs_fdatawrite_range(BTRFS_I(inode), pos, endbyte);
btrfs_set_inode_number(BTRFS_I(inode), BTRFS_BTREE_INODE_OBJECTID);
btrfs_extent_io_tree_init(fs_info, &BTRFS_I(inode)->io_tree,
btrfs_extent_map_tree_init(&BTRFS_I(inode)->extent_tree);
BTRFS_I(inode)->root = btrfs_grab_root(fs_info->tree_root);
set_bit(BTRFS_INODE_DUMMY, &BTRFS_I(inode)->runtime_flags);
BTRFS_I(inode)->generation = 0;
struct btrfs_inode *dir = BTRFS_I(d_inode(child));
struct btrfs_inode *inode = BTRFS_I(d_inode(child));
struct btrfs_inode *dir = BTRFS_I(d_inode(parent));
if (btrfs_root_id(BTRFS_I(inode)->root) !=
btrfs_root_id(BTRFS_I(parent)->root))
fid->objectid = btrfs_ino(BTRFS_I(inode));
fid->root_objectid = btrfs_root_id(BTRFS_I(inode)->root);
fid->parent_objectid = btrfs_ino(BTRFS_I(parent));
parent_root_id = btrfs_root_id(BTRFS_I(parent)->root);
em = get_extent_map(BTRFS_I(inode), folio, cur, locked_end - cur + 1, em_cached);
struct btrfs_inode *inode = BTRFS_I(vfs_inode);
struct btrfs_inode *inode = BTRFS_I(folio->mapping->host);
BTRFS_I(fs_info->btree_inode), eb->start,
&BTRFS_I(inode)->runtime_flags))
btrfs_add_delayed_iput(BTRFS_I(inode));
btrfs_mark_ordered_io_finished(BTRFS_I(inode), NULL,
ret = extent_writepage_io(BTRFS_I(inode), folio, cur, cur_len,
btrfs_zoned_data_reloc_lock(BTRFS_I(inode));
btrfs_zoned_data_reloc_unlock(BTRFS_I(inode));
struct btrfs_inode *inode = BTRFS_I(vfs_inode);
struct extent_io_tree *tree = &BTRFS_I(inode)->io_tree;
REQ_OP_READ | REQ_META, BTRFS_I(fs_info->btree_inode),
struct btrfs_inode *btrfs_inode = BTRFS_I(inode);
!(BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW | BTRFS_INODE_PREALLOC)))
ret = btrfs_cont_expand(BTRFS_I(inode), oldsize, end_pos);
ret = btrfs_inode_lock(BTRFS_I(inode), ilock_flags);
ret = copy_one_range(BTRFS_I(inode), iter, &data_reserved, pos, nowait);
btrfs_inode_unlock(BTRFS_I(inode), ilock_flags);
btrfs_inode_lock(BTRFS_I(inode), 0);
btrfs_inode_unlock(BTRFS_I(inode), 0);
struct btrfs_inode *inode = BTRFS_I(file_inode(file));
&BTRFS_I(inode)->runtime_flags))
struct btrfs_inode *inode = BTRFS_I(d_inode(dentry));
struct btrfs_inode *inode = BTRFS_I(file_inode(vmf->vma->vm_file));
btrfs_lock_extent(&BTRFS_I(inode)->io_tree, lockstart, lockend,
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, lockstart, lockend,
btrfs_assert_inode_range_clean(BTRFS_I(inode), lockstart, lockend);
struct btrfs_root *root = BTRFS_I(inode)->root;
btrfs_inode_lock(BTRFS_I(inode), BTRFS_ILOCK_MMAP);
ret = btrfs_wait_ordered_range(BTRFS_I(inode), offset, len);
ret = find_first_non_hole(BTRFS_I(inode), &offset, &len);
ret = btrfs_truncate_block(BTRFS_I(inode), offset + len - 1,
ret = btrfs_truncate_block(BTRFS_I(inode), offset, orig_start, orig_end);
btrfs_inode_unlock(BTRFS_I(inode), BTRFS_ILOCK_MMAP);
ret = find_first_non_hole(BTRFS_I(inode), &offset, &len);
ret = find_first_non_hole(BTRFS_I(inode), &tail_start, &tail_len);
ret = btrfs_truncate_block(BTRFS_I(inode),
ret = btrfs_replace_file_extents(BTRFS_I(inode), path, lockstart,
ret = btrfs_update_inode(trans, BTRFS_I(inode));
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, lockstart, lockend,
ret = btrfs_update_inode(trans, BTRFS_I(inode));
btrfs_inode_unlock(BTRFS_I(inode), BTRFS_ILOCK_MMAP);
struct btrfs_root *root = BTRFS_I(inode)->root;
ret = btrfs_inode_set_file_extent_range(BTRFS_I(inode), range_start,
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
ret = btrfs_update_inode(trans, BTRFS_I(inode));
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
em = btrfs_get_extent(BTRFS_I(inode), NULL, alloc_start,
em = btrfs_get_extent(BTRFS_I(inode), NULL, alloc_start, sectorsize);
ret = btrfs_truncate_block(BTRFS_I(inode), offset + len - 1,
ret = btrfs_zero_range_check_range_boundary(BTRFS_I(inode),
ret = btrfs_truncate_block(BTRFS_I(inode), offset,
ret = btrfs_zero_range_check_range_boundary(BTRFS_I(inode),
ret = btrfs_truncate_block(BTRFS_I(inode), offset + len - 1,
ret = btrfs_alloc_data_chunk_ondemand(BTRFS_I(inode),
ret = btrfs_qgroup_reserve_data(BTRFS_I(inode), &data_reserved,
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, lockstart,
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, lockstart, lockend,
btrfs_free_reserved_data_space(BTRFS_I(inode), data_reserved,
int blocksize = BTRFS_I(inode)->root->fs_info->sectorsize;
btrfs_inode_lock(BTRFS_I(inode), BTRFS_ILOCK_MMAP);
ret = btrfs_cont_expand(BTRFS_I(inode), i_size_read(inode),
ret = btrfs_truncate_block(BTRFS_I(inode), inode->i_size,
ret = btrfs_wait_ordered_range(BTRFS_I(inode), alloc_start,
btrfs_inode_unlock(BTRFS_I(inode), BTRFS_ILOCK_MMAP);
btrfs_lock_extent(&BTRFS_I(inode)->io_tree, alloc_start, locked_end,
btrfs_assert_inode_range_clean(BTRFS_I(inode), alloc_start, locked_end);
em = btrfs_get_extent(BTRFS_I(inode), NULL, cur_offset,
ret = btrfs_qgroup_reserve_data(BTRFS_I(inode),
ret = btrfs_alloc_data_chunk_ondemand(BTRFS_I(inode),
btrfs_free_reserved_data_space(BTRFS_I(inode),
btrfs_qgroup_free_data(BTRFS_I(inode), data_reserved,
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, alloc_start, locked_end,
btrfs_inode_unlock(BTRFS_I(inode), BTRFS_ILOCK_MMAP);
struct btrfs_inode *inode = BTRFS_I(file->f_mapping->host);
btrfs_inode_lock(BTRFS_I(inode), BTRFS_ILOCK_SHARED);
btrfs_inode_unlock(BTRFS_I(inode), BTRFS_ILOCK_SHARED);
btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, inode->i_size - 1,
btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0,
BTRFS_I(inode)->generation = trans->transid;
ret = btrfs_wait_ordered_range(BTRFS_I(inode), 0, (u64)-1);
btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, inode->i_size - 1,
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, 0, i_size_read(inode) - 1,
BTRFS_I(inode)->generation = 0;
btrfs_update_inode(trans, BTRFS_I(inode));
BTRFS_I(inode)->generation = 0;
btrfs_lock_extent(&BTRFS_I(inode)->io_tree, 0, i_size_read(inode) - 1,
ret = btrfs_dirty_folio(BTRFS_I(inode), page_folio(io_ctl->pages[i]),
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, 0, i_size_read(inode) - 1,
ret = btrfs_fdatawrite_range(BTRFS_I(inode), 0, (u64)-1);
BTRFS_I(inode)->generation = 0;
btrfs_update_inode(trans, BTRFS_I(inode));
if (!((BTRFS_I(inode)->flags & flags) == flags)) {
BTRFS_I(inode)->flags |= BTRFS_INODE_NODATASUM |
block_group->inode = BTRFS_I(igrab(inode));
ret = btrfs_orphan_add(trans, BTRFS_I(inode));
btrfs_add_delayed_iput(BTRFS_I(inode));
btrfs_add_delayed_iput(BTRFS_I(inode));
.inode = BTRFS_I(vfs_inode),
.ino = btrfs_ino(BTRFS_I(vfs_inode)),
struct btrfs_inode *inode = BTRFS_I(vfs_inode);
btrfs_err(BTRFS_I(inode)->root->fs_info,
btrfs_err(BTRFS_I(inode)->root->fs_info,
if (!BTRFS_I(inode)->generation) {
if (BTRFS_I(inode)->generation != generation) {
BTRFS_I(inode)->generation, generation);
#define folio_to_inode(_folio) (BTRFS_I(_Generic((_folio), \
#define inode_to_fs_info(_inode) (BTRFS_I(_Generic((_inode), \
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
atomic_dec(&BTRFS_I(inode)->root->nr_swapfiles);
struct btrfs_root *root = BTRFS_I(inode)->root;
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
btrfs_assert_inode_locked(BTRFS_I(inode));
down_write(&BTRFS_I(inode)->i_mmap_lock);
ret = btrfs_wait_ordered_range(BTRFS_I(inode), 0, (u64)-1);
if (BTRFS_I(inode)->flags & BTRFS_INODE_COMPRESS) {
if (!(BTRFS_I(inode)->flags & BTRFS_INODE_NODATACOW)) {
if (!(BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM)) {
key.objectid = btrfs_ino(BTRFS_I(inode));
ret = btrfs_is_data_extent_shared(BTRFS_I(inode), disk_bytenr,
up_write(&BTRFS_I(inode)->i_mmap_lock);
btrfs_root_id(BTRFS_I(inode)->root),
btrfs_ino(BTRFS_I(inode)),
fixup->inode = BTRFS_I(inode);
btrfs_set_inode_size(leaf, item, BTRFS_I(inode)->disk_i_size);
btrfs_set_timespec_sec(leaf, &item->otime, BTRFS_I(inode)->i_otime_sec);
btrfs_set_timespec_nsec(leaf, &item->otime, BTRFS_I(inode)->i_otime_nsec);
btrfs_set_inode_generation(leaf, item, BTRFS_I(inode)->generation);
flags = btrfs_inode_combine_flags(BTRFS_I(inode)->flags,
BTRFS_I(inode)->ro_flags);
trans = __unlink_start_trans(BTRFS_I(dir));
btrfs_record_unlink_dir(trans, BTRFS_I(dir), BTRFS_I(d_inode(dentry)),
ret = btrfs_unlink_inode(trans, BTRFS_I(dir), BTRFS_I(d_inode(dentry)),
ret = btrfs_orphan_add(trans, BTRFS_I(inode));
btrfs_btree_balance_dirty(BTRFS_I(dir)->root->fs_info);
struct btrfs_inode *inode = BTRFS_I(d_inode(dentry));
struct btrfs_root *dest = BTRFS_I(inode)->root;
struct btrfs_inode *dir = BTRFS_I(vfs_dir);
struct btrfs_inode *inode = BTRFS_I(d_inode(dentry));
struct btrfs_root *root = BTRFS_I(inode)->root;
ret = btrfs_cont_expand(BTRFS_I(inode), oldsize, newsize);
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
ret = btrfs_update_inode(trans, BTRFS_I(inode));
ret = btrfs_wait_ordered_range(BTRFS_I(inode),
&BTRFS_I(inode)->runtime_flags);
ret = btrfs_truncate(BTRFS_I(inode), newsize == oldsize);
ret2 = btrfs_wait_ordered_range(BTRFS_I(inode), 0, (u64)-1);
i_size_write(inode, BTRFS_I(inode)->disk_i_size);
struct btrfs_root *root = BTRFS_I(inode)->root;
ret = btrfs_dirty_inode(BTRFS_I(inode));
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
btrfs_drop_extent_map_range(BTRFS_I(inode), 0, (u64)-1, false);
btrfs_qgroup_free_data(BTRFS_I(inode), NULL, start,
struct btrfs_root *root = BTRFS_I(inode)->root;
btrfs_is_free_space_inode(BTRFS_I(inode))))
ret = btrfs_commit_inode_delayed_inode(BTRFS_I(inode));
btrfs_kill_delayed_inode_items(BTRFS_I(inode));
btrfs_i_size_write(BTRFS_I(inode), 0);
.inode = BTRFS_I(inode),
.ino = btrfs_ino(BTRFS_I(inode)),
btrfs_orphan_del(trans, BTRFS_I(inode));
btrfs_remove_delayed_node(BTRFS_I(inode));
btrfs_set_inode_number(BTRFS_I(inode), args->ino);
BTRFS_I(inode)->root = btrfs_grab_root(args->root);
&BTRFS_I(inode)->runtime_flags);
return args->ino == btrfs_ino(BTRFS_I(inode)) &&
args->root == BTRFS_I(inode)->root;
return BTRFS_I(inode);
inode = BTRFS_I(vfs_inode);
struct btrfs_root *root = BTRFS_I(dir)->root;
ret = btrfs_inode_by_name(BTRFS_I(dir), dentry, &location, &di_type);
ret = fixup_tree_root_location(fs_info, BTRFS_I(dir), dentry,
root = BTRFS_I(inode)->root;
if (btrfs_ino(BTRFS_I(inode)) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)
ret = btrfs_get_dir_last_index(BTRFS_I(inode), &last_index);
ret = btrfs_get_dir_last_index(BTRFS_I(file_inode(file)),
struct btrfs_root *root = BTRFS_I(inode)->root;
put = btrfs_readdir_get_delayed_items(BTRFS_I(inode), private->last_index,
key.objectid = btrfs_ino(BTRFS_I(inode));
btrfs_readdir_put_delayed_items(BTRFS_I(inode), &ins_list, &del_list);
struct btrfs_root *root = BTRFS_I(inode)->root;
return btrfs_dirty_inode(BTRFS_I(inode));
args.ino = btrfs_ino(BTRFS_I(inode));
args.root = BTRFS_I(inode)->root;
btrfs_inode_hash(inode->i_ino, BTRFS_I(inode)->root),
if (BTRFS_I(dir)->prop_compress)
ret = btrfs_check_dir_item_collision(BTRFS_I(dir)->root,
btrfs_ino(BTRFS_I(dir)),
BTRFS_I(inode)->root = btrfs_grab_root(BTRFS_I(dir)->root);
root = BTRFS_I(inode)->root;
ret = btrfs_init_file_extent_tree(BTRFS_I(inode));
btrfs_set_inode_number(BTRFS_I(inode), objectid);
ret = btrfs_set_inode_index(BTRFS_I(dir), &BTRFS_I(inode)->dir_index);
BTRFS_I(inode)->index_cnt = BTRFS_DIR_START_INDEX;
BTRFS_I(inode)->generation = trans->transid;
inode->i_generation = BTRFS_I(inode)->generation;
set_bit(BTRFS_INODE_NO_CAP_XATTR, &BTRFS_I(inode)->runtime_flags);
btrfs_inherit_iflags(BTRFS_I(inode), BTRFS_I(dir));
btrfs_set_inode_mapping_order(BTRFS_I(inode));
BTRFS_I(inode)->flags |= BTRFS_INODE_NODATASUM;
BTRFS_I(inode)->flags |= BTRFS_INODE_NODATACOW |
btrfs_update_inode_mapping_flags(BTRFS_I(inode));
BTRFS_I(dir)->index_cnt--;
btrfs_set_inode_full_sync(BTRFS_I(inode));
key[1].offset = btrfs_ino(BTRFS_I(dir));
BTRFS_I(inode)->i_otime_sec = ts.tv_sec;
BTRFS_I(inode)->i_otime_nsec = ts.tv_nsec;
BTRFS_I(inode)->dir_index);
parent = btrfs_iget(BTRFS_FIRST_FREE_OBJECTID, BTRFS_I(dir)->root);
ret = btrfs_inode_inherit_props(trans, BTRFS_I(inode),
ret = btrfs_inode_inherit_props(trans, BTRFS_I(inode),
BTRFS_I(dir));
btrfs_ino(BTRFS_I(inode)), btrfs_root_id(root), ret);
ret = btrfs_add_inode_to_root(BTRFS_I(inode), false);
btrfs_set_inode_last_trans(trans, BTRFS_I(inode));
ret = btrfs_orphan_add(trans, BTRFS_I(inode));
ret = btrfs_add_link(trans, BTRFS_I(dir), BTRFS_I(inode), name,
0, BTRFS_I(inode)->dir_index);
struct btrfs_root *root = BTRFS_I(dir)->root;
struct btrfs_root *root = BTRFS_I(dir)->root;
if (btrfs_root_id(root) != btrfs_root_id(BTRFS_I(inode)->root))
ret = btrfs_set_inode_index(BTRFS_I(dir), &index);
BTRFS_I(inode)->dir_index = 0ULL;
ret = btrfs_add_link(trans, BTRFS_I(dir), BTRFS_I(inode),
ret = btrfs_update_inode(trans, BTRFS_I(inode));
ret = btrfs_orphan_del(trans, BTRFS_I(inode));
btrfs_drop_extent_map_range(BTRFS_I(inode), 0, (u64)-1, false);
kfree(BTRFS_I(inode)->file_extent_tree);
kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode));
kfree(BTRFS_I(inode)->file_extent_tree);
kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode));
struct btrfs_inode *inode = BTRFS_I(vfs_inode);
struct btrfs_root *root = BTRFS_I(inode)->root;
u32 bi_flags = BTRFS_I(inode)->flags;
u32 bi_ro_flags = BTRFS_I(inode)->ro_flags;
stat->btime.tv_sec = BTRFS_I(inode)->i_otime_sec;
stat->btime.tv_nsec = BTRFS_I(inode)->i_otime_nsec;
stat->dev = BTRFS_I(inode)->root->anon_dev;
stat->subvol = btrfs_root_id(BTRFS_I(inode)->root);
spin_lock(&BTRFS_I(inode)->lock);
delalloc_bytes = BTRFS_I(inode)->new_delalloc_bytes;
spin_unlock(&BTRFS_I(inode)->lock);
struct btrfs_root *root = BTRFS_I(old_dir)->root;
struct btrfs_root *dest = BTRFS_I(new_dir)->root;
u64 old_ino = btrfs_ino(BTRFS_I(old_inode));
u64 new_ino = btrfs_ino(BTRFS_I(new_inode));
ret = btrfs_set_inode_index(BTRFS_I(new_dir), &old_idx);
ret = btrfs_set_inode_index(BTRFS_I(old_dir), &new_idx);
BTRFS_I(old_inode)->dir_index = 0ULL;
BTRFS_I(new_inode)->dir_index = 0ULL;
btrfs_ino(BTRFS_I(new_dir)),
btrfs_ino(BTRFS_I(old_dir)),
btrfs_record_unlink_dir(trans, BTRFS_I(old_dir),
BTRFS_I(old_inode), true);
btrfs_record_unlink_dir(trans, BTRFS_I(new_dir),
BTRFS_I(new_inode), true);
ret = btrfs_unlink_subvol(trans, BTRFS_I(old_dir), old_dentry);
ret = __btrfs_unlink_inode(trans, BTRFS_I(old_dir),
BTRFS_I(old_dentry->d_inode),
ret = btrfs_update_inode(trans, BTRFS_I(old_inode));
ret = btrfs_unlink_subvol(trans, BTRFS_I(new_dir), new_dentry);
ret = __btrfs_unlink_inode(trans, BTRFS_I(new_dir),
BTRFS_I(new_dentry->d_inode),
ret = btrfs_update_inode(trans, BTRFS_I(new_inode));
ret = btrfs_add_link(trans, BTRFS_I(new_dir), BTRFS_I(old_inode),
ret = btrfs_add_link(trans, BTRFS_I(old_dir), BTRFS_I(new_inode),
BTRFS_I(old_inode)->dir_index = old_idx;
BTRFS_I(new_inode)->dir_index = new_idx;
btrfs_log_new_name(trans, old_dentry, BTRFS_I(old_dir),
btrfs_log_new_name(trans, new_dentry, BTRFS_I(new_dir),
struct btrfs_root *root = BTRFS_I(old_dir)->root;
struct btrfs_root *dest = BTRFS_I(new_dir)->root;
u64 old_ino = btrfs_ino(BTRFS_I(old_inode));
if (btrfs_ino(BTRFS_I(new_dir)) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)
(new_inode && btrfs_ino(BTRFS_I(new_inode)) == BTRFS_FIRST_FREE_OBJECTID))
ret = btrfs_set_inode_index(BTRFS_I(new_dir), &index);
BTRFS_I(old_inode)->dir_index = 0ULL;
old_ino, btrfs_ino(BTRFS_I(new_dir)),
btrfs_record_unlink_dir(trans, BTRFS_I(old_dir),
BTRFS_I(old_inode), true);
ret = btrfs_unlink_subvol(trans, BTRFS_I(old_dir), old_dentry);
ret = __btrfs_unlink_inode(trans, BTRFS_I(old_dir),
BTRFS_I(d_inode(old_dentry)),
ret = btrfs_update_inode(trans, BTRFS_I(old_inode));
if (unlikely(btrfs_ino(BTRFS_I(new_inode)) ==
ret = btrfs_unlink_subvol(trans, BTRFS_I(new_dir), new_dentry);
ret = btrfs_unlink_inode(trans, BTRFS_I(new_dir),
BTRFS_I(d_inode(new_dentry)),
BTRFS_I(d_inode(new_dentry)));
ret = btrfs_add_link(trans, BTRFS_I(new_dir), BTRFS_I(old_inode),
BTRFS_I(old_inode)->dir_index = index;
btrfs_log_new_name(trans, old_dentry, BTRFS_I(old_dir),
btrfs_btree_balance_dirty(BTRFS_I(new_dir)->root->fs_info);
&BTRFS_I(inode)->runtime_flags))
struct btrfs_root *root = BTRFS_I(dir)->root;
btrfs_i_size_write(BTRFS_I(inode), name_len);
key.objectid = btrfs_ino(BTRFS_I(inode));
struct btrfs_root *root = BTRFS_I(inode)->root;
trans = insert_prealloc_file_extent(trans, BTRFS_I(inode),
btrfs_drop_extent_map_range(BTRFS_I(inode), cur_offset,
btrfs_set_inode_full_sync(BTRFS_I(inode));
ret = btrfs_replace_extent_map_range(BTRFS_I(inode), em, true);
BTRFS_I(inode)->flags |= BTRFS_INODE_PREALLOC;
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
ret = btrfs_update_inode(trans, BTRFS_I(inode));
btrfs_free_reserved_data_space(BTRFS_I(inode), NULL, clear_offset,
struct btrfs_root *root = BTRFS_I(inode)->root;
if (BTRFS_I(inode)->flags & BTRFS_INODE_READONLY)
struct btrfs_root *root = BTRFS_I(dir)->root;
struct btrfs_inode *inode = BTRFS_I(file_inode(iocb->ki_filp));
struct btrfs_inode *inode = BTRFS_I(file_inode(iocb->ki_filp));
struct btrfs_inode *inode = BTRFS_I(file_inode(iocb->ki_filp));
struct btrfs_inode *inode = BTRFS_I(file_inode(iocb->ki_filp));
btrfs_info(BTRFS_I(file_inode(file))->root->fs_info,
} else if (btrfs_ino(BTRFS_I(src_inode)) != BTRFS_FIRST_FREE_OBJECTID) {
BTRFS_I(src_inode)->root,
struct btrfs_root *root = BTRFS_I(inode)->root;
if (btrfs_ino(BTRFS_I(inode)) != BTRFS_FIRST_FREE_OBJECTID) {
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
u64 upper_limit = btrfs_ino(BTRFS_I(inode));
u64 treeid = btrfs_root_id(BTRFS_I(inode)->root);
btrfs_ino(BTRFS_I(inode)) != BTRFS_FIRST_FREE_OBJECTID) {
fs_info = BTRFS_I(inode)->root->fs_info;
key.objectid = btrfs_root_id(BTRFS_I(inode)->root);
struct btrfs_root *root = BTRFS_I(dir)->root;
dest = BTRFS_I(inode)->root;
if (btrfs_ino(BTRFS_I(inode)) != BTRFS_FIRST_FREE_OBJECTID) {
btrfs_inode_lock(BTRFS_I(inode), 0);
ret = btrfs_delete_subvolume(BTRFS_I(dir), dentry);
btrfs_inode_unlock(BTRFS_I(inode), 0);
struct btrfs_root *root = BTRFS_I(inode)->root;
ret = btrfs_defrag_file(BTRFS_I(file_inode(file)), &file->f_ra,
const struct btrfs_inode *inode = BTRFS_I(d_inode(dentry));
struct btrfs_inode *inode = BTRFS_I(d_inode(dentry));
struct btrfs_root *root = BTRFS_I(inode)->root;
struct btrfs_root *root = BTRFS_I(file_inode(file))->root;
struct btrfs_root *root = BTRFS_I(inode)->root;
struct btrfs_root *root = BTRFS_I(inode)->root;
struct btrfs_root *root = BTRFS_I(inode)->root;
struct btrfs_root *root = BTRFS_I(inode)->root;
if (btrfs_ino(BTRFS_I(inode)) != BTRFS_FIRST_FREE_OBJECTID) {
struct btrfs_root *root = BTRFS_I(inode)->root;
struct btrfs_root *root = BTRFS_I(inode)->root;
struct btrfs_inode *inode = BTRFS_I(file_inode(file));
struct btrfs_inode *inode = BTRFS_I(file_inode(priv->iocb.ki_filp));
struct btrfs_inode *inode = BTRFS_I(file_inode(iocb->ki_filp));
struct btrfs_inode *inode = BTRFS_I(file->f_inode);
struct btrfs_root *root = BTRFS_I(dir)->root;
struct btrfs_root *root = BTRFS_I(inode)->root;
return btrfs_ioctl_subvol_getflags(BTRFS_I(inode), argp);
BTRFS_I(new_inode_args.inode)->root = new_root;
btrfs_record_new_subvolume(trans, BTRFS_I(dir));
ret = btrfs_subvolume_reserve_metadata(BTRFS_I(dir)->root, block_rsv,
pending_snapshot->dir = BTRFS_I(dir);
ret = btrfs_record_root_in_trans(trans, BTRFS_I(dir)->root);
ret = btrfs_check_dir_item_collision(BTRFS_I(dir)->root, dir->i_ino, &name_str);
if (btrfs_root_refs(&BTRFS_I(dir)->root->root_item) == 0)
struct btrfs_root *root = BTRFS_I(file_inode(file))->root;
struct btrfs_root *root = BTRFS_I(inode)->root;
ret = handler->apply(BTRFS_I(inode), value, len);
handler->xattr_name, btrfs_ino(BTRFS_I(inode)),
set_bit(BTRFS_INODE_HAS_PROPS, &BTRFS_I(inode)->runtime_flags);
key.objectid = btrfs_ino(BTRFS_I(src));
ret = btrfs_search_slot(NULL, BTRFS_I(src)->root, &key, path,
ret = btrfs_next_leaf(BTRFS_I(src)->root, path);
key.objectid != btrfs_ino(BTRFS_I(src)))
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
ret = btrfs_update_inode(trans, BTRFS_I(inode));
new_key.objectid = btrfs_ino(BTRFS_I(inode));
ret = btrfs_replace_file_extents(BTRFS_I(inode), path,
ret = clone_copy_inline_extent(BTRFS_I(inode), path, &new_key,
BTRFS_I(src)->last_reflink_trans = trans->transid;
BTRFS_I(inode)->last_reflink_trans = trans->transid;
btrfs_set_inode_full_sync(BTRFS_I(inode));
ret = btrfs_replace_file_extents(BTRFS_I(inode), path,
clear_bit(BTRFS_INODE_NO_DELALLOC_FLUSH, &BTRFS_I(inode)->runtime_flags);
struct btrfs_root *root_dst = BTRFS_I(dst)->root;
ret = btrfs_extent_same_range(BTRFS_I(src), loff, BTRFS_MAX_DEDUPE_LEN,
BTRFS_I(dst), dst_loff);
ret = btrfs_extent_same_range(BTRFS_I(src), loff, tail_len,
BTRFS_I(dst), dst_loff);
ret = btrfs_cont_expand(BTRFS_I(inode), inode->i_size, destoff);
ret = btrfs_wait_ordered_range(BTRFS_I(inode), wb_start,
btrfs_lock_extent(&BTRFS_I(inode)->io_tree, destoff, end, &cached_state);
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, destoff, end, &cached_state);
ret = btrfs_wait_ordered_range(BTRFS_I(inode), destoff, len);
struct btrfs_inode *inode_in = BTRFS_I(file_inode(file_in));
struct btrfs_inode *inode_out = BTRFS_I(file_inode(file_out));
struct btrfs_inode *src_inode = BTRFS_I(file_inode(src_file));
struct btrfs_inode *dst_inode = BTRFS_I(file_inode(dst_file));
struct btrfs_inode *inode = BTRFS_I(rc->data_inode);
struct btrfs_inode *inode = BTRFS_I(rc->data_inode);
u64 offset = BTRFS_I(inode)->reloc_block_group_start;
ret = btrfs_delalloc_reserve_metadata(BTRFS_I(inode),
btrfs_lock_extent(&BTRFS_I(inode)->io_tree, clamped_start,
ret = btrfs_set_extent_delalloc(BTRFS_I(inode), clamped_start,
btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree,
btrfs_delalloc_release_metadata(BTRFS_I(inode),
btrfs_delalloc_release_extents(BTRFS_I(inode),
btrfs_set_extent_bit(&BTRFS_I(inode)->io_tree,
btrfs_unlock_extent(&BTRFS_I(inode)->io_tree, clamped_start, clamped_end,
btrfs_delalloc_release_extents(BTRFS_I(inode), clamped_len);
u64 offset = BTRFS_I(inode)->reloc_block_group_start;
struct btrfs_root *root = BTRFS_I(inode)->root;
struct btrfs_root *root = BTRFS_I(rc->data_inode)->root;
bbio = btrfs_bio_alloc(BIO_MAX_VECS, op, BTRFS_I(fs_info->btree_inode),
BTRFS_I(fs_info->btree_inode),
wb_ret = btrfs_wait_ordered_range(BTRFS_I(rc->data_inode),
struct btrfs_root *root = BTRFS_I(reloc_inode)->root;
bytenr -= BTRFS_I(reloc_inode)->reloc_block_group_start;
btrfs_ino(BTRFS_I(reloc_inode)), bytenr, 0);
bbio = btrfs_bio_alloc(nr_vecs, opf, BTRFS_I(fs_info->btree_inode),
ASSERT(is_data_inode(BTRFS_I(folio->mapping->host)));
seq_printf(seq, ",subvolid=%llu", btrfs_root_id(BTRFS_I(d_inode(dentry))->root));
btrfs_root_id(BTRFS_I(d_inode(dentry))->root));
u64 root_objectid = btrfs_root_id(BTRFS_I(root_inode)->root);
buf->f_fsid.val[0] ^= btrfs_root_id(BTRFS_I(d_inode(dentry))->root) >> 32;
buf->f_fsid.val[1] ^= btrfs_root_id(BTRFS_I(d_inode(dentry))->root);
btrfs_set_inode_number(BTRFS_I(inode), BTRFS_FIRST_FREE_OBJECTID);
tmp = &BTRFS_I(inode)->io_tree;
BTRFS_I(inode)->root = root;
BTRFS_I(inode)->root = root;
ret = test_case_1(fs_info, BTRFS_I(inode));
ret = test_case_2(fs_info, BTRFS_I(inode));
ret = test_case_3(fs_info, BTRFS_I(inode));
ret = test_case_4(fs_info, BTRFS_I(inode));
ret = test_case_5(fs_info, BTRFS_I(inode));
ret = test_case_6(fs_info, BTRFS_I(inode));
ret = test_case_7(fs_info, BTRFS_I(inode));
ret = test_case_8(fs_info, BTRFS_I(inode));
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_set_extent_delalloc(BTRFS_I(inode),
if (BTRFS_I(inode)->outstanding_extents != 3) {
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree,
if (BTRFS_I(inode)->outstanding_extents != 4) {
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_set_extent_delalloc(BTRFS_I(inode),
if (BTRFS_I(inode)->outstanding_extents != 3) {
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
if (BTRFS_I(inode)->outstanding_extents) {
BTRFS_I(inode)->outstanding_extents);
btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1,
BTRFS_I(inode)->root = root;
em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, sectorsize);
btrfs_drop_extent_map_range(BTRFS_I(inode), 0, (u64)-1, false);
em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, (u64)-1);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset + 6, sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, SZ_4M);
em = btrfs_get_extent(BTRFS_I(inode), NULL, offset, sectorsize);
BTRFS_I(inode)->root = root;
em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, 2 * sectorsize);
em = btrfs_get_extent(BTRFS_I(inode), NULL, sectorsize, 2 * sectorsize);
BTRFS_I(inode)->root = root;
ret = btrfs_set_extent_delalloc(BTRFS_I(inode), 0,
if (BTRFS_I(inode)->outstanding_extents != 1) {
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_set_extent_delalloc(BTRFS_I(inode), BTRFS_MAX_EXTENT_SIZE,
if (BTRFS_I(inode)->outstanding_extents != 2) {
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_clear_extent_bit(&BTRFS_I(inode)->io_tree,
if (BTRFS_I(inode)->outstanding_extents != 2) {
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_set_extent_delalloc(BTRFS_I(inode), BTRFS_MAX_EXTENT_SIZE >> 1,
if (BTRFS_I(inode)->outstanding_extents != 2) {
BTRFS_I(inode)->outstanding_extents);
ret = btrfs_set_extent_delalloc(BTRFS_I(inode),
if (BTRFS_I(inode)->outstanding_extents != 4) {
u64 gen = BTRFS_I(inode)->generation;
ASSERT(data_race(BTRFS_I(inode)->logged_trans) > 0);
if (data_race(BTRFS_I(inode)->logged_trans) < trans->transid)
btrfs_set_timespec_sec(leaf, &item->otime, BTRFS_I(inode)->i_otime_sec);
btrfs_set_timespec_nsec(leaf, &item->otime, BTRFS_I(inode)->i_otime_nsec);
flags = btrfs_inode_combine_flags(BTRFS_I(inode)->flags,
BTRFS_I(inode)->ro_flags);
inode = BTRFS_I(d_inode(parent));
ret = btrfs_log_inode_parent(trans, BTRFS_I(d_inode(dentry)), parent,
struct btrfs_inode *inode = BTRFS_I(d_inode(old_dentry));
struct btrfs_inode *inode = BTRFS_I(file_inode(filp));
struct btrfs_inode *inode = BTRFS_I(file_inode(filp));
ret = read_key_bytes(BTRFS_I(inode), BTRFS_VERITY_DESC_ITEM_KEY, 0,
ret = read_key_bytes(BTRFS_I(inode), BTRFS_VERITY_DESC_ITEM_KEY, 1,
ret = read_key_bytes(BTRFS_I(inode), BTRFS_VERITY_MERKLE_ITEM_KEY, off,
return write_key_bytes(BTRFS_I(inode), BTRFS_VERITY_MERKLE_ITEM_KEY,
btrfs_assert_inode_locked(BTRFS_I(inode));
btrfs_ino(BTRFS_I(inode)), name, name_len, 0);
ret = btrfs_insert_xattr_item(trans, root, path, btrfs_ino(BTRFS_I(inode)),
&BTRFS_I(inode)->runtime_flags);
clear_bit(BTRFS_INODE_NO_XATTRS, &BTRFS_I(inode)->runtime_flags);
struct btrfs_root *root = BTRFS_I(inode)->root;
ret = btrfs_update_inode(trans, BTRFS_I(inode));
struct btrfs_root *root = BTRFS_I(inode)->root;
key.objectid = btrfs_ino(BTRFS_I(inode));
struct btrfs_root *root = BTRFS_I(inode)->root;
if (btrfs_root_readonly(BTRFS_I(inode)->root))
if (test_bit(BTRFS_INODE_NO_CAP_XATTR, &BTRFS_I(inode)->runtime_flags))
set_bit(BTRFS_INODE_NO_CAP_XATTR, &BTRFS_I(inode)->runtime_flags);
if (btrfs_root_readonly(BTRFS_I(inode)->root))
di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(BTRFS_I(inode)),
clear_bit(BTRFS_INODE_NO_CAP_XATTR, &BTRFS_I(inode)->runtime_flags);
struct btrfs_root *root = BTRFS_I(inode)->root;
ret = btrfs_validate_prop(BTRFS_I(inode), name, value, size);
if (btrfs_ignore_prop(BTRFS_I(inode), name))
ret = btrfs_set_prop(trans, BTRFS_I(inode), name, value, size, flags);
ret = btrfs_update_inode(trans, BTRFS_I(inode));
clear_bit(BTRFS_INODE_NO_CAP_XATTR, &BTRFS_I(inode)->runtime_flags);
struct btrfs_root *root = BTRFS_I(inode)->root;
btrfs_ino(BTRFS_I(inode)), name, name_len, -1);
__entry->rootid = btrfs_root_id(BTRFS_I(inode)->root);
__entry->ino = btrfs_ino(BTRFS_I(inode));
__entry->ino = btrfs_ino(BTRFS_I(inode));
__entry->disk_i_size = BTRFS_I(inode)->disk_i_size;
__entry->generation = BTRFS_I(inode)->generation;
__entry->last_trans = BTRFS_I(inode)->last_trans;
__entry->logged_trans = BTRFS_I(inode)->logged_trans;
__entry->root_objectid = BTRFS_I(inode)->root ?
btrfs_root_id(BTRFS_I(inode)->root) : 0;
__entry->ino = btrfs_ino(BTRFS_I(inode));
__entry->root_objectid = btrfs_root_id(BTRFS_I(inode)->root);
__entry->ino = btrfs_ino(BTRFS_I(inode));
__entry->parent = btrfs_ino(BTRFS_I(parent_inode));
__entry->root_objectid = btrfs_root_id(BTRFS_I(inode)->root);