Lines Matching refs:dir

973 void ext4_show_inline_dir(struct inode *dir, struct buffer_head *bh,  in ext4_show_inline_dir()  argument
981 trace_printk("inode %lu\n", dir->i_ino); in ext4_show_inline_dir()
988 if (ext4_check_dir_entry(dir, NULL, de, bh, in ext4_show_inline_dir()
997 #define ext4_show_inline_dir(dir, bh, inline_start, inline_size) argument
1007 struct inode *dir, in ext4_add_dirent_to_inline() argument
1015 err = ext4_find_dest_de(dir, inode, iloc->bh, inline_start, in ext4_add_dirent_to_inline()
1021 err = ext4_journal_get_write_access(handle, dir->i_sb, iloc->bh, in ext4_add_dirent_to_inline()
1025 ext4_insert_dentry(dir, inode, de, inline_size, fname); in ext4_add_dirent_to_inline()
1027 ext4_show_inline_dir(dir, iloc->bh, inline_start, inline_size); in ext4_add_dirent_to_inline()
1040 dir->i_mtime = inode_set_ctime_current(dir); in ext4_add_dirent_to_inline()
1041 ext4_update_dx_flag(dir); in ext4_add_dirent_to_inline()
1042 inode_inc_iversion(dir); in ext4_add_dirent_to_inline()
1087 static int ext4_update_inline_dir(handle_t *handle, struct inode *dir, in ext4_update_inline_dir() argument
1091 int old_size = EXT4_I(dir)->i_inline_size - EXT4_MIN_INLINE_DATA_SIZE; in ext4_update_inline_dir()
1092 int new_size = get_max_inline_xattr_value_size(dir, iloc); in ext4_update_inline_dir()
1097 ret = ext4_update_inline_data(handle, dir, in ext4_update_inline_dir()
1102 ext4_update_final_de(ext4_get_inline_xattr_pos(dir, iloc), old_size, in ext4_update_inline_dir()
1103 EXT4_I(dir)->i_inline_size - in ext4_update_inline_dir()
1105 dir->i_size = EXT4_I(dir)->i_disksize = EXT4_I(dir)->i_inline_size; in ext4_update_inline_dir()
1262 struct inode *dir, struct inode *inode) in ext4_try_add_inline_entry() argument
1268 ret = ext4_get_inode_loc(dir, &iloc); in ext4_try_add_inline_entry()
1272 ext4_write_lock_xattr(dir, &no_expand); in ext4_try_add_inline_entry()
1273 if (!ext4_has_inline_data(dir)) in ext4_try_add_inline_entry()
1280 ret = ext4_add_dirent_to_inline(handle, fname, dir, inode, &iloc, in ext4_try_add_inline_entry()
1286 inline_size = EXT4_I(dir)->i_inline_size - in ext4_try_add_inline_entry()
1290 ret = ext4_update_inline_dir(handle, dir, &iloc); in ext4_try_add_inline_entry()
1294 inline_size = EXT4_I(dir)->i_inline_size - in ext4_try_add_inline_entry()
1299 inline_start = ext4_get_inline_xattr_pos(dir, &iloc); in ext4_try_add_inline_entry()
1301 ret = ext4_add_dirent_to_inline(handle, fname, dir, in ext4_try_add_inline_entry()
1314 ret = ext4_convert_inline_data_nolock(handle, dir, &iloc); in ext4_try_add_inline_entry()
1317 ext4_write_unlock_xattr(dir, &no_expand); in ext4_try_add_inline_entry()
1318 ret2 = ext4_mark_inode_dirty(handle, dir); in ext4_try_add_inline_entry()
1331 struct inode *dir, ext4_lblk_t block, in ext4_inlinedir_to_tree() argument
1410 if (ext4_hash_in_dirent(dir)) { in ext4_inlinedir_to_tree()
1414 err = ext4fs_dirhash(dir, de->name, de->name_len, hinfo); in ext4_inlinedir_to_tree()
1663 struct buffer_head *ext4_find_inline_entry(struct inode *dir, in ext4_find_inline_entry() argument
1673 if (ext4_get_inode_loc(dir, &iloc)) in ext4_find_inline_entry()
1676 down_read(&EXT4_I(dir)->xattr_sem); in ext4_find_inline_entry()
1677 if (!ext4_has_inline_data(dir)) { in ext4_find_inline_entry()
1686 dir, fname, 0, res_dir); in ext4_find_inline_entry()
1692 if (ext4_get_inline_size(dir) == EXT4_MIN_INLINE_DATA_SIZE) in ext4_find_inline_entry()
1695 inline_start = ext4_get_inline_xattr_pos(dir, &iloc); in ext4_find_inline_entry()
1696 inline_size = ext4_get_inline_size(dir) - EXT4_MIN_INLINE_DATA_SIZE; in ext4_find_inline_entry()
1699 dir, fname, 0, res_dir); in ext4_find_inline_entry()
1707 up_read(&EXT4_I(dir)->xattr_sem); in ext4_find_inline_entry()
1712 struct inode *dir, in ext4_delete_inline_entry() argument
1721 err = ext4_get_inode_loc(dir, &iloc); in ext4_delete_inline_entry()
1725 ext4_write_lock_xattr(dir, &no_expand); in ext4_delete_inline_entry()
1726 if (!ext4_has_inline_data(dir)) { in ext4_delete_inline_entry()
1738 inline_start = ext4_get_inline_xattr_pos(dir, &iloc); in ext4_delete_inline_entry()
1739 inline_size = ext4_get_inline_size(dir) - in ext4_delete_inline_entry()
1744 err = ext4_journal_get_write_access(handle, dir->i_sb, bh, in ext4_delete_inline_entry()
1749 err = ext4_generic_delete_entry(dir, de_del, bh, in ext4_delete_inline_entry()
1754 ext4_show_inline_dir(dir, iloc.bh, inline_start, inline_size); in ext4_delete_inline_entry()
1756 ext4_write_unlock_xattr(dir, &no_expand); in ext4_delete_inline_entry()
1758 err = ext4_mark_inode_dirty(handle, dir); in ext4_delete_inline_entry()
1761 ext4_std_error(dir->i_sb, err); in ext4_delete_inline_entry()
1794 bool empty_inline_dir(struct inode *dir, int *has_inline_data) in empty_inline_dir() argument
1804 err = ext4_get_inode_loc(dir, &iloc); in empty_inline_dir()
1806 EXT4_ERROR_INODE_ERR(dir, -err, in empty_inline_dir()
1808 err, dir->i_ino); in empty_inline_dir()
1812 down_read(&EXT4_I(dir)->xattr_sem); in empty_inline_dir()
1813 if (!ext4_has_inline_data(dir)) { in empty_inline_dir()
1821 ext4_warning(dir->i_sb, in empty_inline_dir()
1823 dir->i_ino); in empty_inline_dir()
1827 inline_len = ext4_get_inline_size(dir); in empty_inline_dir()
1830 de = ext4_get_inline_entry(dir, &iloc, offset, in empty_inline_dir()
1832 if (ext4_check_dir_entry(dir, NULL, de, in empty_inline_dir()
1835 ext4_warning(dir->i_sb, in empty_inline_dir()
1839 dir->i_ino, le32_to_cpu(de->inode), in empty_inline_dir()
1852 up_read(&EXT4_I(dir)->xattr_sem); in empty_inline_dir()