Lines Matching refs:ei
53 struct ext4_inode_info *ei) in ext4_inode_csum() argument
61 csum = ext4_chksum(sbi, ei->i_csum_seed, (__u8 *)raw, offset); in ext4_inode_csum()
72 if (EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) { in ext4_inode_csum()
85 struct ext4_inode_info *ei) in ext4_inode_csum_verify() argument
95 calculated = ext4_inode_csum(inode, raw, ei); in ext4_inode_csum_verify()
97 EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) in ext4_inode_csum_verify()
106 struct ext4_inode_info *ei) in ext4_inode_csum_set() argument
115 csum = ext4_inode_csum(inode, raw, ei); in ext4_inode_csum_set()
118 EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) in ext4_inode_csum_set()
368 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_update_reserve_space() local
370 spin_lock(&ei->i_block_reservation_lock); in ext4_da_update_reserve_space()
372 if (unlikely(used > ei->i_reserved_data_blocks)) { in ext4_da_update_reserve_space()
376 ei->i_reserved_data_blocks); in ext4_da_update_reserve_space()
378 used = ei->i_reserved_data_blocks; in ext4_da_update_reserve_space()
382 ei->i_reserved_data_blocks -= used; in ext4_da_update_reserve_space()
404 if ((ei->i_reserved_data_blocks == 0) && in ext4_da_update_reserve_space()
1491 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_reserve_space() local
1503 spin_lock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1505 spin_unlock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1509 ei->i_reserved_data_blocks++; in ext4_da_reserve_space()
1511 spin_unlock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1519 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_release_space() local
1527 if (unlikely(to_free > ei->i_reserved_data_blocks)) { in ext4_da_release_space()
1537 ei->i_reserved_data_blocks); in ext4_da_release_space()
1539 to_free = ei->i_reserved_data_blocks; in ext4_da_release_space()
1541 ei->i_reserved_data_blocks -= to_free; in ext4_da_release_space()
1629 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_print_free_blocks() local
1643 ei->i_reserved_data_blocks); in ext4_print_free_blocks()
4024 static void ext4_wait_dax_page(struct ext4_inode_info *ei) in ext4_wait_dax_page() argument
4026 up_write(&ei->i_mmap_sem); in ext4_wait_dax_page()
4028 down_write(&ei->i_mmap_sem); in ext4_wait_dax_page()
4033 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_break_layouts() local
4037 if (WARN_ON_ONCE(!rwsem_is_locked(&ei->i_mmap_sem))) in ext4_break_layouts()
4048 ext4_wait_dax_page(ei)); in ext4_break_layouts()
4218 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_inode_attach_jinode() local
4221 if (ei->jinode || !EXT4_SB(inode->i_sb)->s_journal) in ext4_inode_attach_jinode()
4226 if (!ei->jinode) { in ext4_inode_attach_jinode()
4231 ei->jinode = jinode; in ext4_inode_attach_jinode()
4232 jbd2_journal_init_jbd_inode(ei->jinode, inode); in ext4_inode_attach_jinode()
4271 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_truncate() local
4343 up_write(&ei->i_data_sem); in ext4_truncate()
4618 struct ext4_inode_info *ei) in ext4_inode_blocks() argument
4621 struct inode *inode = &(ei->vfs_inode); in ext4_inode_blocks()
4641 struct ext4_inode_info *ei) in ext4_iget_extra_inode() argument
4644 EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize; in ext4_iget_extra_inode()
4712 struct ext4_inode_info *ei; in __ext4_iget() local
4747 ei = EXT4_I(inode); in __ext4_iget()
4762 ei->i_extra_isize = le16_to_cpu(raw_inode->i_extra_isize); in __ext4_iget()
4763 if (EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize > in __ext4_iget()
4765 (ei->i_extra_isize & 3)) { in __ext4_iget()
4769 ei->i_extra_isize, in __ext4_iget()
4775 ei->i_extra_isize = 0; in __ext4_iget()
4785 ei->i_csum_seed = ext4_chksum(sbi, csum, (__u8 *)&gen, in __ext4_iget()
4789 if ((!ext4_inode_csum_verify(inode, raw_inode, ei) || in __ext4_iget()
4803 EXT4_FITS_IN_INODE(raw_inode, ei, i_projid)) in __ext4_iget()
4814 ei->i_projid = make_kprojid(&init_user_ns, i_projid); in __ext4_iget()
4817 ext4_clear_state_flags(ei); /* Only relevant on 32-bit archs */ in __ext4_iget()
4818 ei->i_inline_off = 0; in __ext4_iget()
4819 ei->i_dir_start_lookup = 0; in __ext4_iget()
4820 ei->i_dtime = le32_to_cpu(raw_inode->i_dtime); in __ext4_iget()
4846 ei->i_flags = le32_to_cpu(raw_inode->i_flags); in __ext4_iget()
4848 inode->i_blocks = ext4_inode_blocks(raw_inode, ei); in __ext4_iget()
4849 ei->i_file_acl = le32_to_cpu(raw_inode->i_file_acl_lo); in __ext4_iget()
4851 ei->i_file_acl |= in __ext4_iget()
4872 ei->i_disksize = inode->i_size; in __ext4_iget()
4874 ei->i_reserved_quota = 0; in __ext4_iget()
4877 ei->i_block_group = iloc.block_group; in __ext4_iget()
4878 ei->i_last_alloc_group = ~0; in __ext4_iget()
4884 ei->i_data[block] = raw_inode->i_block[block]; in __ext4_iget()
4885 INIT_LIST_HEAD(&ei->i_orphan); in __ext4_iget()
4886 ext4_fc_init_inode(&ei->vfs_inode); in __ext4_iget()
4909 ei->i_sync_tid = tid; in __ext4_iget()
4910 ei->i_datasync_tid = tid; in __ext4_iget()
4914 if (ei->i_extra_isize == 0) { in __ext4_iget()
4917 ei->i_extra_isize = sizeof(struct ext4_inode) - in __ext4_iget()
4920 ret = ext4_iget_extra_inode(inode, raw_inode, ei); in __ext4_iget()
4929 EXT4_EINODE_GET_XTIME(i_crtime, ei, raw_inode); in __ext4_iget()
4935 if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi)) in __ext4_iget()
4943 if (ei->i_file_acl && in __ext4_iget()
4944 !ext4_inode_block_valid(inode, ei->i_file_acl, 1)) { in __ext4_iget()
4947 ei->i_file_acl); in __ext4_iget()
4985 inode->i_link = (char *)ei->i_data; in __ext4_iget()
4987 nd_terminate_link(ei->i_data, inode->i_size, in __ext4_iget()
4988 sizeof(ei->i_data) - 1); in __ext4_iget()
5032 struct ext4_inode_info *ei) in ext4_inode_blocks_set() argument
5034 struct inode *inode = &(ei->vfs_inode); in ext4_inode_blocks_set()
5089 struct ext4_inode_info *ei = EXT4_I(inode); in __ext4_update_other_inode_time() local
5094 spin_lock(&ei->i_raw_lock); in __ext4_update_other_inode_time()
5098 ext4_inode_csum_set(inode, raw_inode, ei); in __ext4_update_other_inode_time()
5099 spin_unlock(&ei->i_raw_lock); in __ext4_update_other_inode_time()
5145 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_do_update_inode() local
5154 spin_lock(&ei->i_raw_lock); in ext4_do_update_inode()
5161 err = ext4_inode_blocks_set(handle, raw_inode, ei); in ext4_do_update_inode()
5163 spin_unlock(&ei->i_raw_lock); in ext4_do_update_inode()
5170 i_projid = from_kprojid(&init_user_ns, ei->i_projid); in ext4_do_update_inode()
5178 if (ei->i_dtime && list_empty(&ei->i_orphan)) { in ext4_do_update_inode()
5198 EXT4_EINODE_SET_XTIME(i_crtime, ei, raw_inode); in ext4_do_update_inode()
5200 raw_inode->i_dtime = cpu_to_le32(ei->i_dtime); in ext4_do_update_inode()
5201 raw_inode->i_flags = cpu_to_le32(ei->i_flags & 0xFFFFFFFF); in ext4_do_update_inode()
5204 cpu_to_le16(ei->i_file_acl >> 32); in ext4_do_update_inode()
5205 raw_inode->i_file_acl_lo = cpu_to_le32(ei->i_file_acl); in ext4_do_update_inode()
5206 if (READ_ONCE(ei->i_disksize) != ext4_isize(inode->i_sb, raw_inode)) { in ext4_do_update_inode()
5207 ext4_isize_set(raw_inode, ei->i_disksize); in ext4_do_update_inode()
5210 if (ei->i_disksize > 0x7fffffffULL) { in ext4_do_update_inode()
5230 raw_inode->i_block[block] = ei->i_data[block]; in ext4_do_update_inode()
5237 if (ei->i_extra_isize) { in ext4_do_update_inode()
5238 if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi)) in ext4_do_update_inode()
5242 cpu_to_le16(ei->i_extra_isize); in ext4_do_update_inode()
5250 EXT4_FITS_IN_INODE(raw_inode, ei, i_projid)) in ext4_do_update_inode()
5253 ext4_inode_csum_set(inode, raw_inode, ei); in ext4_do_update_inode()
5254 spin_unlock(&ei->i_raw_lock); in ext4_do_update_inode()
5655 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_getattr() local
5659 EXT4_FITS_IN_INODE(raw_inode, ei, i_crtime)) { in ext4_getattr()
5661 stat->btime.tv_sec = ei->i_crtime.tv_sec; in ext4_getattr()
5662 stat->btime.tv_nsec = ei->i_crtime.tv_nsec; in ext4_getattr()
5665 flags = ei->i_flags & EXT4_FL_USER_VISIBLE; in ext4_getattr()
5882 struct ext4_inode_info *ei = EXT4_I(inode); in __ext4_expand_extra_isize() local
5886 if ((EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize > inode_size) || in __ext4_expand_extra_isize()
5887 (ei->i_extra_isize & 3)) { in __ext4_expand_extra_isize()
5889 ei->i_extra_isize, in __ext4_expand_extra_isize()
5893 if ((new_extra_isize < ei->i_extra_isize) || in __ext4_expand_extra_isize()