Lines Matching refs:dir

493 	return btrfs_xattr_security_init(trans, args->inode, args->dir,  in btrfs_init_inode_security()
4057 struct btrfs_inode *dir, in __btrfs_unlink_inode() argument
4062 struct btrfs_root *root = dir->root; in __btrfs_unlink_inode()
4069 u64 dir_ino = btrfs_ino(dir); in __btrfs_unlink_inode()
4117 ret = btrfs_delete_delayed_dir_index(trans, dir, index); in __btrfs_unlink_inode()
4131 btrfs_del_dir_entries_in_log(trans, root, name, dir, index); in __btrfs_unlink_inode()
4149 btrfs_i_size_write(dir, dir->vfs_inode.i_size - name->len * 2); in __btrfs_unlink_inode()
4152 inode_inc_iversion(&dir->vfs_inode); in __btrfs_unlink_inode()
4154 dir->vfs_inode.i_mtime = inode_set_ctime_current(&dir->vfs_inode); in __btrfs_unlink_inode()
4155 ret = btrfs_update_inode(trans, root, dir); in __btrfs_unlink_inode()
4161 struct btrfs_inode *dir, struct btrfs_inode *inode, in btrfs_unlink_inode() argument
4166 ret = __btrfs_unlink_inode(trans, dir, inode, name, NULL); in btrfs_unlink_inode()
4182 static struct btrfs_trans_handle *__unlink_start_trans(struct btrfs_inode *dir) in __unlink_start_trans() argument
4184 struct btrfs_root *root = dir->root; in __unlink_start_trans()
4190 static int btrfs_unlink(struct inode *dir, struct dentry *dentry) in btrfs_unlink() argument
4197 ret = fscrypt_setup_filename(dir, &dentry->d_name, 1, &fname); in btrfs_unlink()
4203 trans = __unlink_start_trans(BTRFS_I(dir)); in btrfs_unlink()
4209 btrfs_record_unlink_dir(trans, BTRFS_I(dir), BTRFS_I(d_inode(dentry)), in btrfs_unlink()
4212 ret = btrfs_unlink_inode(trans, BTRFS_I(dir), BTRFS_I(d_inode(dentry)), in btrfs_unlink()
4225 btrfs_btree_balance_dirty(BTRFS_I(dir)->root->fs_info); in btrfs_unlink()
4232 struct btrfs_inode *dir, struct dentry *dentry) in btrfs_unlink_subvol() argument
4234 struct btrfs_root *root = dir->root; in btrfs_unlink_subvol()
4243 u64 dir_ino = btrfs_ino(dir); in btrfs_unlink_subvol()
4246 ret = fscrypt_setup_filename(&dir->vfs_inode, &dentry->d_name, 1, &fname); in btrfs_unlink_subvol()
4319 ret = btrfs_delete_delayed_dir_index(trans, dir, index); in btrfs_unlink_subvol()
4325 btrfs_i_size_write(dir, dir->vfs_inode.i_size - fname.disk_name.len * 2); in btrfs_unlink_subvol()
4326 inode_inc_iversion(&dir->vfs_inode); in btrfs_unlink_subvol()
4327 dir->vfs_inode.i_mtime = inode_set_ctime_current(&dir->vfs_inode); in btrfs_unlink_subvol()
4328 ret = btrfs_update_inode_fallback(trans, root, dir); in btrfs_unlink_subvol()
4464 int btrfs_delete_subvolume(struct btrfs_inode *dir, struct dentry *dentry) in btrfs_delete_subvolume() argument
4467 struct btrfs_root *root = dir->root; in btrfs_delete_subvolume()
4535 btrfs_record_snapshot_destroy(trans, dir); in btrfs_delete_subvolume()
4537 ret = btrfs_unlink_subvol(trans, dir, dentry); in btrfs_delete_subvolume()
4612 static int btrfs_rmdir(struct inode *dir, struct dentry *dentry) in btrfs_rmdir() argument
4629 return btrfs_delete_subvolume(BTRFS_I(dir), dentry); in btrfs_rmdir()
4632 err = fscrypt_setup_filename(dir, &dentry->d_name, 1, &fname); in btrfs_rmdir()
4638 trans = __unlink_start_trans(BTRFS_I(dir)); in btrfs_rmdir()
4645 err = btrfs_unlink_subvol(trans, BTRFS_I(dir), dentry); in btrfs_rmdir()
4656 err = btrfs_unlink_inode(trans, BTRFS_I(dir), BTRFS_I(d_inode(dentry)), in btrfs_rmdir()
4672 BTRFS_I(dir)->last_unlink_trans = last_unlink_trans; in btrfs_rmdir()
5357 static int btrfs_inode_by_name(struct btrfs_inode *dir, struct dentry *dentry, in btrfs_inode_by_name() argument
5362 struct btrfs_root *root = dir->root; in btrfs_inode_by_name()
5370 ret = fscrypt_setup_filename(&dir->vfs_inode, &dentry->d_name, 1, &fname); in btrfs_inode_by_name()
5381 di = btrfs_lookup_dir_item(NULL, root, path, btrfs_ino(dir), in btrfs_inode_by_name()
5394 __func__, fname.disk_name.name, btrfs_ino(dir), in btrfs_inode_by_name()
5411 struct btrfs_inode *dir, in fixup_tree_root_location() argument
5425 ret = fscrypt_setup_filename(&dir->vfs_inode, &dentry->d_name, 0, &fname); in fixup_tree_root_location()
5436 key.objectid = dir->root->root_key.objectid; in fixup_tree_root_location()
5449 if (btrfs_root_ref_dirid(leaf, ref) != btrfs_ino(dir) || in fixup_tree_root_location()
5621 static struct inode *new_simple_dir(struct inode *dir, in new_simple_dir() argument
5625 struct inode *inode = new_inode(dir->i_sb); in new_simple_dir()
5644 inode->i_atime = dir->i_atime; in new_simple_dir()
5646 inode->i_uid = dir->i_uid; in new_simple_dir()
5647 inode->i_gid = dir->i_gid; in new_simple_dir()
5666 struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry) in btrfs_lookup_dentry() argument
5668 struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); in btrfs_lookup_dentry()
5670 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_lookup_dentry()
5679 ret = btrfs_inode_by_name(BTRFS_I(dir), dentry, &location, &di_type); in btrfs_lookup_dentry()
5684 inode = btrfs_iget(dir->i_sb, location.objectid, root); in btrfs_lookup_dentry()
5700 ret = fixup_tree_root_location(fs_info, BTRFS_I(dir), dentry, in btrfs_lookup_dentry()
5706 inode = new_simple_dir(dir, &location, root); in btrfs_lookup_dentry()
5708 inode = btrfs_iget(dir->i_sb, location.objectid, sub_root); in btrfs_lookup_dentry()
5746 static struct dentry *btrfs_lookup(struct inode *dir, struct dentry *dentry, in btrfs_lookup() argument
5749 struct inode *inode = btrfs_lookup_dentry(dir, dentry); in btrfs_lookup()
5806 static int btrfs_get_dir_last_index(struct btrfs_inode *dir, u64 *index) in btrfs_get_dir_last_index() argument
5810 btrfs_inode_lock(dir, 0); in btrfs_get_dir_last_index()
5811 if (dir->index_cnt == (u64)-1) { in btrfs_get_dir_last_index()
5812 ret = btrfs_inode_delayed_dir_index_count(dir); in btrfs_get_dir_last_index()
5814 ret = btrfs_set_inode_index_count(dir); in btrfs_get_dir_last_index()
5821 *index = dir->index_cnt - 1; in btrfs_get_dir_last_index()
5823 btrfs_inode_unlock(dir, 0); in btrfs_get_dir_last_index()
6080 int btrfs_set_inode_index(struct btrfs_inode *dir, u64 *index) in btrfs_set_inode_index() argument
6084 if (dir->index_cnt == (u64)-1) { in btrfs_set_inode_index()
6085 ret = btrfs_inode_delayed_dir_index_count(dir); in btrfs_set_inode_index()
6087 ret = btrfs_set_inode_index_count(dir); in btrfs_set_inode_index()
6093 *index = dir->index_cnt; in btrfs_set_inode_index()
6094 dir->index_cnt++; in btrfs_set_inode_index()
6114 struct inode *dir = args->dir; in btrfs_new_inode_prepare() local
6119 ret = fscrypt_setup_filename(dir, &args->dentry->d_name, 0, in btrfs_new_inode_prepare()
6125 ret = posix_acl_create(dir, &inode->i_mode, &args->default_acl, &args->acl); in btrfs_new_inode_prepare()
6134 if (BTRFS_I(dir)->prop_compress) in btrfs_new_inode_prepare()
6144 if (dir->i_security) in btrfs_new_inode_prepare()
6177 static void btrfs_inherit_iflags(struct btrfs_inode *inode, struct btrfs_inode *dir) in btrfs_inherit_iflags() argument
6181 flags = dir->flags; in btrfs_inherit_iflags()
6203 struct inode *dir = args->dir; in btrfs_create_new_inode() local
6206 struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); in btrfs_create_new_inode()
6224 BTRFS_I(inode)->root = btrfs_grab_root(BTRFS_I(dir)->root); in btrfs_create_new_inode()
6239 trace_btrfs_inode_request(dir); in btrfs_create_new_inode()
6241 ret = btrfs_set_inode_index(BTRFS_I(dir), &BTRFS_I(inode)->dir_index); in btrfs_create_new_inode()
6256 btrfs_inherit_iflags(BTRFS_I(inode), BTRFS_I(dir)); in btrfs_create_new_inode()
6274 BTRFS_I(dir)->index_cnt--; in btrfs_create_new_inode()
6305 key[1].offset = btrfs_ino(BTRFS_I(dir)); in btrfs_create_new_inode()
6370 BTRFS_I(dir)->root); in btrfs_create_new_inode()
6378 ret = btrfs_inode_inherit_props(trans, inode, dir); in btrfs_create_new_inode()
6409 ret = btrfs_add_link(trans, BTRFS_I(dir), BTRFS_I(inode), name, in btrfs_create_new_inode()
6518 static int btrfs_create_common(struct inode *dir, struct dentry *dentry, in btrfs_create_common() argument
6521 struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); in btrfs_create_common()
6522 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_create_common()
6524 .dir = dir, in btrfs_create_common()
6556 static int btrfs_mknod(struct mnt_idmap *idmap, struct inode *dir, in btrfs_mknod() argument
6561 inode = new_inode(dir->i_sb); in btrfs_mknod()
6564 inode_init_owner(idmap, inode, dir, mode); in btrfs_mknod()
6567 return btrfs_create_common(dir, dentry, inode); in btrfs_mknod()
6570 static int btrfs_create(struct mnt_idmap *idmap, struct inode *dir, in btrfs_create() argument
6575 inode = new_inode(dir->i_sb); in btrfs_create()
6578 inode_init_owner(idmap, inode, dir, mode); in btrfs_create()
6582 return btrfs_create_common(dir, dentry, inode); in btrfs_create()
6585 static int btrfs_link(struct dentry *old_dentry, struct inode *dir, in btrfs_link() argument
6589 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_link()
6604 err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &fname); in btrfs_link()
6608 err = btrfs_set_inode_index(BTRFS_I(dir), &index); in btrfs_link()
6633 err = btrfs_add_link(trans, BTRFS_I(dir), BTRFS_I(inode), in btrfs_link()
6669 static int btrfs_mkdir(struct mnt_idmap *idmap, struct inode *dir, in btrfs_mkdir() argument
6674 inode = new_inode(dir->i_sb); in btrfs_mkdir()
6677 inode_init_owner(idmap, inode, dir, S_IFDIR | mode); in btrfs_mkdir()
6680 return btrfs_create_common(dir, dentry, inode); in btrfs_mkdir()
8494 struct inode *dir) in btrfs_new_subvol_inode() argument
8498 inode = new_inode(dir->i_sb); in btrfs_new_subvol_inode()
8972 struct inode *dir) in new_whiteout_inode() argument
8976 inode = new_inode(dir->i_sb); in new_whiteout_inode()
8978 inode_init_owner(idmap, inode, dir, in new_whiteout_inode()
8993 .dir = old_dir, in btrfs_rename()
9430 static int btrfs_symlink(struct mnt_idmap *idmap, struct inode *dir, in btrfs_symlink() argument
9433 struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); in btrfs_symlink()
9435 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_symlink()
9440 .dir = dir, in btrfs_symlink()
9455 inode = new_inode(dir->i_sb); in btrfs_symlink()
9458 inode_init_owner(idmap, inode, dir, S_IFLNK | S_IRWXUGO); in btrfs_symlink()
9763 static int btrfs_tmpfile(struct mnt_idmap *idmap, struct inode *dir, in btrfs_tmpfile() argument
9766 struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); in btrfs_tmpfile()
9768 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_tmpfile()
9771 .dir = dir, in btrfs_tmpfile()
9778 inode = new_inode(dir->i_sb); in btrfs_tmpfile()
9781 inode_init_owner(idmap, inode, dir, mode); in btrfs_tmpfile()