Lines Matching refs:dir
964 void ext4_show_inline_dir(struct inode *dir, struct buffer_head *bh, in ext4_show_inline_dir() argument
972 trace_printk("inode %lu\n", dir->i_ino); in ext4_show_inline_dir()
979 if (ext4_check_dir_entry(dir, NULL, de, bh, in ext4_show_inline_dir()
988 #define ext4_show_inline_dir(dir, bh, inline_start, inline_size) argument
1003 struct inode *dir = d_inode(dentry->d_parent); in ext4_add_dirent_to_inline() local
1007 err = ext4_find_dest_de(dir, inode, iloc->bh, inline_start, in ext4_add_dirent_to_inline()
1016 ext4_insert_dentry(dir, inode, de, inline_size, fname); in ext4_add_dirent_to_inline()
1018 ext4_show_inline_dir(dir, iloc->bh, inline_start, inline_size); in ext4_add_dirent_to_inline()
1031 dir->i_mtime = dir->i_ctime = ext4_current_time(dir); in ext4_add_dirent_to_inline()
1032 ext4_update_dx_flag(dir); in ext4_add_dirent_to_inline()
1033 dir->i_version++; in ext4_add_dirent_to_inline()
1034 ext4_mark_inode_dirty(handle, dir); in ext4_add_dirent_to_inline()
1079 static int ext4_update_inline_dir(handle_t *handle, struct inode *dir, in ext4_update_inline_dir() argument
1083 int old_size = EXT4_I(dir)->i_inline_size - EXT4_MIN_INLINE_DATA_SIZE; in ext4_update_inline_dir()
1084 int new_size = get_max_inline_xattr_value_size(dir, iloc); in ext4_update_inline_dir()
1089 ret = ext4_update_inline_data(handle, dir, in ext4_update_inline_dir()
1094 ext4_update_final_de(ext4_get_inline_xattr_pos(dir, iloc), old_size, in ext4_update_inline_dir()
1095 EXT4_I(dir)->i_inline_size - in ext4_update_inline_dir()
1097 dir->i_size = EXT4_I(dir)->i_disksize = EXT4_I(dir)->i_inline_size; in ext4_update_inline_dir()
1253 struct inode *dir = d_inode(dentry->d_parent); in ext4_try_add_inline_entry() local
1255 ret = ext4_get_inode_loc(dir, &iloc); in ext4_try_add_inline_entry()
1259 down_write(&EXT4_I(dir)->xattr_sem); in ext4_try_add_inline_entry()
1260 if (!ext4_has_inline_data(dir)) in ext4_try_add_inline_entry()
1273 inline_size = EXT4_I(dir)->i_inline_size - in ext4_try_add_inline_entry()
1277 ret = ext4_update_inline_dir(handle, dir, &iloc); in ext4_try_add_inline_entry()
1281 inline_size = EXT4_I(dir)->i_inline_size - in ext4_try_add_inline_entry()
1286 inline_start = ext4_get_inline_xattr_pos(dir, &iloc); in ext4_try_add_inline_entry()
1301 ret = ext4_convert_inline_data_nolock(handle, dir, &iloc); in ext4_try_add_inline_entry()
1304 ext4_mark_inode_dirty(handle, dir); in ext4_try_add_inline_entry()
1305 up_write(&EXT4_I(dir)->xattr_sem); in ext4_try_add_inline_entry()
1316 struct inode *dir, ext4_lblk_t block, in htree_inlinedir_to_tree() argument
1610 struct buffer_head *ext4_find_inline_entry(struct inode *dir, in ext4_find_inline_entry() argument
1621 if (ext4_get_inode_loc(dir, &iloc)) in ext4_find_inline_entry()
1624 down_read(&EXT4_I(dir)->xattr_sem); in ext4_find_inline_entry()
1625 if (!ext4_has_inline_data(dir)) { in ext4_find_inline_entry()
1634 dir, fname, d_name, 0, res_dir); in ext4_find_inline_entry()
1640 if (ext4_get_inline_size(dir) == EXT4_MIN_INLINE_DATA_SIZE) in ext4_find_inline_entry()
1643 inline_start = ext4_get_inline_xattr_pos(dir, &iloc); in ext4_find_inline_entry()
1644 inline_size = ext4_get_inline_size(dir) - EXT4_MIN_INLINE_DATA_SIZE; in ext4_find_inline_entry()
1647 dir, fname, d_name, 0, res_dir); in ext4_find_inline_entry()
1655 up_read(&EXT4_I(dir)->xattr_sem); in ext4_find_inline_entry()
1660 struct inode *dir, in ext4_delete_inline_entry() argument
1669 err = ext4_get_inode_loc(dir, &iloc); in ext4_delete_inline_entry()
1673 down_write(&EXT4_I(dir)->xattr_sem); in ext4_delete_inline_entry()
1674 if (!ext4_has_inline_data(dir)) { in ext4_delete_inline_entry()
1686 inline_start = ext4_get_inline_xattr_pos(dir, &iloc); in ext4_delete_inline_entry()
1687 inline_size = ext4_get_inline_size(dir) - in ext4_delete_inline_entry()
1696 err = ext4_generic_delete_entry(handle, dir, de_del, bh, in ext4_delete_inline_entry()
1702 err = ext4_mark_inode_dirty(handle, dir); in ext4_delete_inline_entry()
1706 ext4_show_inline_dir(dir, iloc.bh, inline_start, inline_size); in ext4_delete_inline_entry()
1708 up_write(&EXT4_I(dir)->xattr_sem); in ext4_delete_inline_entry()
1711 ext4_std_error(dir->i_sb, err); in ext4_delete_inline_entry()
1744 int empty_inline_dir(struct inode *dir, int *has_inline_data) in empty_inline_dir() argument
1753 err = ext4_get_inode_loc(dir, &iloc); in empty_inline_dir()
1755 EXT4_ERROR_INODE(dir, "error %d getting inode %lu block", in empty_inline_dir()
1756 err, dir->i_ino); in empty_inline_dir()
1760 down_read(&EXT4_I(dir)->xattr_sem); in empty_inline_dir()
1761 if (!ext4_has_inline_data(dir)) { in empty_inline_dir()
1768 ext4_warning(dir->i_sb, in empty_inline_dir()
1770 dir->i_ino); in empty_inline_dir()
1776 while (offset < dir->i_size) { in empty_inline_dir()
1777 de = ext4_get_inline_entry(dir, &iloc, offset, in empty_inline_dir()
1779 if (ext4_check_dir_entry(dir, NULL, de, in empty_inline_dir()
1782 ext4_warning(dir->i_sb, in empty_inline_dir()
1786 dir->i_ino, le32_to_cpu(de->inode), in empty_inline_dir()
1800 up_read(&EXT4_I(dir)->xattr_sem); in empty_inline_dir()