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()
360 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_update_reserve_space() local
362 spin_lock(&ei->i_block_reservation_lock); in ext4_da_update_reserve_space()
364 if (unlikely(used > ei->i_reserved_data_blocks)) { in ext4_da_update_reserve_space()
368 ei->i_reserved_data_blocks); in ext4_da_update_reserve_space()
370 used = ei->i_reserved_data_blocks; in ext4_da_update_reserve_space()
374 ei->i_reserved_data_blocks -= used; in ext4_da_update_reserve_space()
396 if ((ei->i_reserved_data_blocks == 0) && in ext4_da_update_reserve_space()
1498 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_reserve_space() local
1510 spin_lock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1512 spin_unlock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1516 ei->i_reserved_data_blocks++; in ext4_da_reserve_space()
1518 spin_unlock(&ei->i_block_reservation_lock); in ext4_da_reserve_space()
1526 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_da_release_space() local
1534 if (unlikely(to_free > ei->i_reserved_data_blocks)) { in ext4_da_release_space()
1544 ei->i_reserved_data_blocks); in ext4_da_release_space()
1546 to_free = ei->i_reserved_data_blocks; in ext4_da_release_space()
1548 ei->i_reserved_data_blocks -= to_free; in ext4_da_release_space()
1636 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_print_free_blocks() local
1650 ei->i_reserved_data_blocks); in ext4_print_free_blocks()
4042 static void ext4_wait_dax_page(struct ext4_inode_info *ei) in ext4_wait_dax_page() argument
4044 up_write(&ei->i_mmap_sem); in ext4_wait_dax_page()
4046 down_write(&ei->i_mmap_sem); in ext4_wait_dax_page()
4051 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_break_layouts() local
4055 if (WARN_ON_ONCE(!rwsem_is_locked(&ei->i_mmap_sem))) in ext4_break_layouts()
4066 ext4_wait_dax_page(ei)); in ext4_break_layouts()
4236 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_inode_attach_jinode() local
4239 if (ei->jinode || !EXT4_SB(inode->i_sb)->s_journal) in ext4_inode_attach_jinode()
4244 if (!ei->jinode) { in ext4_inode_attach_jinode()
4249 ei->jinode = jinode; in ext4_inode_attach_jinode()
4250 jbd2_journal_init_jbd_inode(ei->jinode, inode); in ext4_inode_attach_jinode()
4289 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_truncate() local
4360 up_write(&ei->i_data_sem); in ext4_truncate()
4627 struct ext4_inode_info *ei) in ext4_inode_blocks() argument
4630 struct inode *inode = &(ei->vfs_inode); in ext4_inode_blocks()
4650 struct ext4_inode_info *ei) in ext4_iget_extra_inode() argument
4653 EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize; in ext4_iget_extra_inode()
4698 struct ext4_inode_info *ei; in __ext4_iget() local
4726 ei = EXT4_I(inode); in __ext4_iget()
4748 ei->i_extra_isize = le16_to_cpu(raw_inode->i_extra_isize); in __ext4_iget()
4749 if (EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize > in __ext4_iget()
4751 (ei->i_extra_isize & 3)) { in __ext4_iget()
4755 ei->i_extra_isize, in __ext4_iget()
4761 ei->i_extra_isize = 0; in __ext4_iget()
4771 ei->i_csum_seed = ext4_chksum(sbi, csum, (__u8 *)&gen, in __ext4_iget()
4775 if ((!ext4_inode_csum_verify(inode, raw_inode, ei) || in __ext4_iget()
4789 EXT4_FITS_IN_INODE(raw_inode, ei, i_projid)) in __ext4_iget()
4800 ei->i_projid = make_kprojid(&init_user_ns, i_projid); in __ext4_iget()
4803 ext4_clear_state_flags(ei); /* Only relevant on 32-bit archs */ in __ext4_iget()
4804 ei->i_inline_off = 0; in __ext4_iget()
4805 ei->i_dir_start_lookup = 0; in __ext4_iget()
4806 ei->i_dtime = le32_to_cpu(raw_inode->i_dtime); in __ext4_iget()
4827 ei->i_flags = le32_to_cpu(raw_inode->i_flags); in __ext4_iget()
4829 inode->i_blocks = ext4_inode_blocks(raw_inode, ei); in __ext4_iget()
4830 ei->i_file_acl = le32_to_cpu(raw_inode->i_file_acl_lo); in __ext4_iget()
4832 ei->i_file_acl |= in __ext4_iget()
4853 ei->i_disksize = inode->i_size; in __ext4_iget()
4855 ei->i_reserved_quota = 0; in __ext4_iget()
4858 ei->i_block_group = iloc.block_group; in __ext4_iget()
4859 ei->i_last_alloc_group = ~0; in __ext4_iget()
4865 ei->i_data[block] = raw_inode->i_block[block]; in __ext4_iget()
4866 INIT_LIST_HEAD(&ei->i_orphan); in __ext4_iget()
4867 ext4_fc_init_inode(&ei->vfs_inode); in __ext4_iget()
4890 ei->i_sync_tid = tid; in __ext4_iget()
4891 ei->i_datasync_tid = tid; in __ext4_iget()
4895 if (ei->i_extra_isize == 0) { in __ext4_iget()
4898 ei->i_extra_isize = sizeof(struct ext4_inode) - in __ext4_iget()
4901 ret = ext4_iget_extra_inode(inode, raw_inode, ei); in __ext4_iget()
4910 EXT4_EINODE_GET_XTIME(i_crtime, ei, raw_inode); in __ext4_iget()
4916 if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi)) in __ext4_iget()
4924 if (ei->i_file_acl && in __ext4_iget()
4925 !ext4_inode_block_valid(inode, ei->i_file_acl, 1)) { in __ext4_iget()
4928 ei->i_file_acl); in __ext4_iget()
4966 inode->i_link = (char *)ei->i_data; in __ext4_iget()
4968 nd_terminate_link(ei->i_data, inode->i_size, in __ext4_iget()
4969 sizeof(ei->i_data) - 1); in __ext4_iget()
5008 struct ext4_inode_info *ei) in ext4_inode_blocks_set() argument
5010 struct inode *inode = &(ei->vfs_inode); in ext4_inode_blocks_set()
5065 struct ext4_inode_info *ei = EXT4_I(inode); in __ext4_update_other_inode_time() local
5070 spin_lock(&ei->i_raw_lock); in __ext4_update_other_inode_time()
5074 ext4_inode_csum_set(inode, raw_inode, ei); in __ext4_update_other_inode_time()
5075 spin_unlock(&ei->i_raw_lock); in __ext4_update_other_inode_time()
5121 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_do_update_inode() local
5130 spin_lock(&ei->i_raw_lock); in ext4_do_update_inode()
5137 err = ext4_inode_blocks_set(handle, raw_inode, ei); in ext4_do_update_inode()
5139 spin_unlock(&ei->i_raw_lock); in ext4_do_update_inode()
5146 i_projid = from_kprojid(&init_user_ns, ei->i_projid); in ext4_do_update_inode()
5154 if (ei->i_dtime && list_empty(&ei->i_orphan)) { in ext4_do_update_inode()
5174 EXT4_EINODE_SET_XTIME(i_crtime, ei, raw_inode); in ext4_do_update_inode()
5176 raw_inode->i_dtime = cpu_to_le32(ei->i_dtime); in ext4_do_update_inode()
5177 raw_inode->i_flags = cpu_to_le32(ei->i_flags & 0xFFFFFFFF); in ext4_do_update_inode()
5180 cpu_to_le16(ei->i_file_acl >> 32); in ext4_do_update_inode()
5181 raw_inode->i_file_acl_lo = cpu_to_le32(ei->i_file_acl); in ext4_do_update_inode()
5182 if (READ_ONCE(ei->i_disksize) != ext4_isize(inode->i_sb, raw_inode)) { in ext4_do_update_inode()
5183 ext4_isize_set(raw_inode, ei->i_disksize); in ext4_do_update_inode()
5186 if (ei->i_disksize > 0x7fffffffULL) { in ext4_do_update_inode()
5206 raw_inode->i_block[block] = ei->i_data[block]; in ext4_do_update_inode()
5213 if (ei->i_extra_isize) { in ext4_do_update_inode()
5214 if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi)) in ext4_do_update_inode()
5218 cpu_to_le16(ei->i_extra_isize); in ext4_do_update_inode()
5226 EXT4_FITS_IN_INODE(raw_inode, ei, i_projid)) in ext4_do_update_inode()
5229 ext4_inode_csum_set(inode, raw_inode, ei); in ext4_do_update_inode()
5230 spin_unlock(&ei->i_raw_lock); in ext4_do_update_inode()
5636 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_getattr() local
5640 EXT4_FITS_IN_INODE(raw_inode, ei, i_crtime)) { in ext4_getattr()
5642 stat->btime.tv_sec = ei->i_crtime.tv_sec; in ext4_getattr()
5643 stat->btime.tv_nsec = ei->i_crtime.tv_nsec; in ext4_getattr()
5646 flags = ei->i_flags & EXT4_FL_USER_VISIBLE; in ext4_getattr()
5863 struct ext4_inode_info *ei = EXT4_I(inode); in __ext4_expand_extra_isize() local
5867 if ((EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize > inode_size) || in __ext4_expand_extra_isize()
5868 (ei->i_extra_isize & 3)) { in __ext4_expand_extra_isize()
5870 ei->i_extra_isize, in __ext4_expand_extra_isize()
5874 if ((new_extra_isize < ei->i_extra_isize) || in __ext4_expand_extra_isize()