Lines Matching refs:ei
54 struct ext4_inode_info *ei) in ext4_inode_csum() argument
62 csum = ext4_chksum(sbi, ei->i_csum_seed, (__u8 *)raw, offset); in ext4_inode_csum()
73 if (EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) { in ext4_inode_csum()
86 struct ext4_inode_info *ei) in ext4_inode_csum_verify() argument
96 calculated = ext4_inode_csum(inode, raw, ei); in ext4_inode_csum_verify()
98 EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) in ext4_inode_csum_verify()
107 struct ext4_inode_info *ei) in ext4_inode_csum_set() argument
116 csum = ext4_inode_csum(inode, raw, ei); in ext4_inode_csum_set()
119 EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) in ext4_inode_csum_set()
357 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_update_reserve_space() local
359 spin_lock(&ei->i_block_reservation_lock); in ext4_da_update_reserve_space()
361 if (unlikely(used > ei->i_reserved_data_blocks)) { in ext4_da_update_reserve_space()
365 ei->i_reserved_data_blocks); in ext4_da_update_reserve_space()
367 used = ei->i_reserved_data_blocks; in ext4_da_update_reserve_space()
371 ei->i_reserved_data_blocks -= used; in ext4_da_update_reserve_space()
393 if ((ei->i_reserved_data_blocks == 0) && in ext4_da_update_reserve_space()
1599 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_reserve_space() local
1611 spin_lock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1613 spin_unlock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1617 ei->i_reserved_data_blocks++; in ext4_da_reserve_space()
1619 spin_unlock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1627 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_release_space() local
1635 if (unlikely(to_free > ei->i_reserved_data_blocks)) { in ext4_da_release_space()
1645 ei->i_reserved_data_blocks); in ext4_da_release_space()
1647 to_free = ei->i_reserved_data_blocks; in ext4_da_release_space()
1649 ei->i_reserved_data_blocks -= to_free; in ext4_da_release_space()
1728 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_print_free_blocks() local
1742 ei->i_reserved_data_blocks); in ext4_print_free_blocks()
3665 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_direct_IO_write() local
3676 if (final_size > inode->i_size || final_size > ei->i_disksize) { in ext4_direct_IO_write()
3796 if (end > inode->i_size || end > ei->i_disksize) { in ext4_direct_IO_write()
4200 static void ext4_wait_dax_page(struct ext4_inode_info *ei) in ext4_wait_dax_page() argument
4202 up_write(&ei->i_mmap_sem); in ext4_wait_dax_page()
4204 down_write(&ei->i_mmap_sem); in ext4_wait_dax_page()
4209 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_break_layouts() local
4213 if (WARN_ON_ONCE(!rwsem_is_locked(&ei->i_mmap_sem))) in ext4_break_layouts()
4224 ext4_wait_dax_page(ei)); in ext4_break_layouts()
4389 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_inode_attach_jinode() local
4392 if (ei->jinode || !EXT4_SB(inode->i_sb)->s_journal) in ext4_inode_attach_jinode()
4397 if (!ei->jinode) { in ext4_inode_attach_jinode()
4402 ei->jinode = jinode; in ext4_inode_attach_jinode()
4403 jbd2_journal_init_jbd_inode(ei->jinode, inode); in ext4_inode_attach_jinode()
4442 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_truncate() local
4515 up_write(&ei->i_data_sem); in ext4_truncate()
4741 struct ext4_inode_info *ei) in ext4_inode_blocks() argument
4744 struct inode *inode = &(ei->vfs_inode); in ext4_inode_blocks()
4764 struct ext4_inode_info *ei) in ext4_iget_extra_inode() argument
4767 EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize; in ext4_iget_extra_inode()
4769 if (EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize + sizeof(__le32) <= in ext4_iget_extra_inode()
4813 struct ext4_inode_info *ei; in __ext4_iget() local
4841 ei = EXT4_I(inode); in __ext4_iget()
4863 ei->i_extra_isize = le16_to_cpu(raw_inode->i_extra_isize); in __ext4_iget()
4864 if (EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize > in __ext4_iget()
4866 (ei->i_extra_isize & 3)) { in __ext4_iget()
4870 ei->i_extra_isize, in __ext4_iget()
4876 ei->i_extra_isize = 0; in __ext4_iget()
4886 ei->i_csum_seed = ext4_chksum(sbi, csum, (__u8 *)&gen, in __ext4_iget()
4890 if (!ext4_inode_csum_verify(inode, raw_inode, ei)) { in __ext4_iget()
4902 EXT4_FITS_IN_INODE(raw_inode, ei, i_projid)) in __ext4_iget()
4913 ei->i_projid = make_kprojid(&init_user_ns, i_projid); in __ext4_iget()
4916 ext4_clear_state_flags(ei); /* Only relevant on 32-bit archs */ in __ext4_iget()
4917 ei->i_inline_off = 0; in __ext4_iget()
4918 ei->i_dir_start_lookup = 0; in __ext4_iget()
4919 ei->i_dtime = le32_to_cpu(raw_inode->i_dtime); in __ext4_iget()
4940 ei->i_flags = le32_to_cpu(raw_inode->i_flags); in __ext4_iget()
4942 inode->i_blocks = ext4_inode_blocks(raw_inode, ei); in __ext4_iget()
4943 ei->i_file_acl = le32_to_cpu(raw_inode->i_file_acl_lo); in __ext4_iget()
4945 ei->i_file_acl |= in __ext4_iget()
4954 ei->i_disksize = inode->i_size; in __ext4_iget()
4956 ei->i_reserved_quota = 0; in __ext4_iget()
4959 ei->i_block_group = iloc.block_group; in __ext4_iget()
4960 ei->i_last_alloc_group = ~0; in __ext4_iget()
4966 ei->i_data[block] = raw_inode->i_block[block]; in __ext4_iget()
4967 INIT_LIST_HEAD(&ei->i_orphan); in __ext4_iget()
4990 ei->i_sync_tid = tid; in __ext4_iget()
4991 ei->i_datasync_tid = tid; in __ext4_iget()
4995 if (ei->i_extra_isize == 0) { in __ext4_iget()
4998 ei->i_extra_isize = sizeof(struct ext4_inode) - in __ext4_iget()
5001 ret = ext4_iget_extra_inode(inode, raw_inode, ei); in __ext4_iget()
5010 EXT4_EINODE_GET_XTIME(i_crtime, ei, raw_inode); in __ext4_iget()
5016 if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi)) in __ext4_iget()
5024 if (ei->i_file_acl && in __ext4_iget()
5025 !ext4_data_block_valid(EXT4_SB(sb), ei->i_file_acl, 1)) { in __ext4_iget()
5028 ei->i_file_acl); in __ext4_iget()
5065 inode->i_link = (char *)ei->i_data; in __ext4_iget()
5067 nd_terminate_link(ei->i_data, inode->i_size, in __ext4_iget()
5068 sizeof(ei->i_data) - 1); in __ext4_iget()
5107 struct ext4_inode_info *ei) in ext4_inode_blocks_set() argument
5109 struct inode *inode = &(ei->vfs_inode); in ext4_inode_blocks_set()
5163 struct ext4_inode_info *ei = EXT4_I(inode); in other_inode_match() local
5168 spin_lock(&ei->i_raw_lock); in other_inode_match()
5172 ext4_inode_csum_set(inode, oi->raw_inode, ei); in other_inode_match()
5173 spin_unlock(&ei->i_raw_lock); in other_inode_match()
5220 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_do_update_inode() local
5229 spin_lock(&ei->i_raw_lock); in ext4_do_update_inode()
5239 i_projid = from_kprojid(&init_user_ns, ei->i_projid); in ext4_do_update_inode()
5247 if (ei->i_dtime && list_empty(&ei->i_orphan)) { in ext4_do_update_inode()
5267 EXT4_EINODE_SET_XTIME(i_crtime, ei, raw_inode); in ext4_do_update_inode()
5269 err = ext4_inode_blocks_set(handle, raw_inode, ei); in ext4_do_update_inode()
5271 spin_unlock(&ei->i_raw_lock); in ext4_do_update_inode()
5274 raw_inode->i_dtime = cpu_to_le32(ei->i_dtime); in ext4_do_update_inode()
5275 raw_inode->i_flags = cpu_to_le32(ei->i_flags & 0xFFFFFFFF); in ext4_do_update_inode()
5278 cpu_to_le16(ei->i_file_acl >> 32); in ext4_do_update_inode()
5279 raw_inode->i_file_acl_lo = cpu_to_le32(ei->i_file_acl); in ext4_do_update_inode()
5280 if (ei->i_disksize != ext4_isize(inode->i_sb, raw_inode)) { in ext4_do_update_inode()
5281 ext4_isize_set(raw_inode, ei->i_disksize); in ext4_do_update_inode()
5284 if (ei->i_disksize > 0x7fffffffULL) { in ext4_do_update_inode()
5304 raw_inode->i_block[block] = ei->i_data[block]; in ext4_do_update_inode()
5311 if (ei->i_extra_isize) { in ext4_do_update_inode()
5312 if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi)) in ext4_do_update_inode()
5316 cpu_to_le16(ei->i_extra_isize); in ext4_do_update_inode()
5324 EXT4_FITS_IN_INODE(raw_inode, ei, i_projid)) in ext4_do_update_inode()
5327 ext4_inode_csum_set(inode, raw_inode, ei); in ext4_do_update_inode()
5328 spin_unlock(&ei->i_raw_lock); in ext4_do_update_inode()
5700 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_getattr() local
5703 if (EXT4_FITS_IN_INODE(raw_inode, ei, i_crtime)) { in ext4_getattr()
5705 stat->btime.tv_sec = ei->i_crtime.tv_sec; in ext4_getattr()
5706 stat->btime.tv_nsec = ei->i_crtime.tv_nsec; in ext4_getattr()
5709 flags = ei->i_flags & EXT4_FL_USER_VISIBLE; in ext4_getattr()