Lines Matching refs:inode

225 	struct inode *inode;  member
292 struct inode *inode; /* file being written to */ member
885 #define EXT4_INODE_SET_XTIME_VAL(xtime, inode, raw_inode, ts) \ argument
887 if (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra)) { \
894 #define EXT4_INODE_SET_XTIME(xtime, inode, raw_inode) \ argument
895 EXT4_INODE_SET_XTIME_VAL(xtime, inode, raw_inode, (inode)->xtime)
897 #define EXT4_INODE_SET_CTIME(inode, raw_inode) \ argument
898 EXT4_INODE_SET_XTIME_VAL(i_ctime, inode, raw_inode, inode_get_ctime(inode))
905 #define EXT4_INODE_GET_XTIME_VAL(xtime, inode, raw_inode) \ argument
906 (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra) ? \
913 #define EXT4_INODE_GET_XTIME(xtime, inode, raw_inode) \ argument
915 (inode)->xtime = EXT4_INODE_GET_XTIME_VAL(xtime, inode, raw_inode); \
918 #define EXT4_INODE_GET_CTIME(inode, raw_inode) \ argument
920 inode_set_ctime_to_ts(inode, \
921 EXT4_INODE_GET_XTIME_VAL(i_ctime, inode, raw_inode)); \
1081 struct inode vfs_inode;
1561 struct inode *s_buddy_cache;
1749 static inline struct ext4_inode_info *EXT4_I(struct inode *inode) in EXT4_I() argument
1751 return container_of(inode, struct ext4_inode_info, vfs_inode); in EXT4_I()
1905 static inline int ext4_test_inode_##name(struct inode *inode, int bit) \
1907 return test_bit(bit + (offset), &EXT4_I(inode)->i_##field); \
1909 static inline void ext4_set_inode_##name(struct inode *inode, int bit) \
1911 set_bit(bit + (offset), &EXT4_I(inode)->i_##field); \
1913 static inline void ext4_clear_inode_##name(struct inode *inode, int bit) \
1915 clear_bit(bit + (offset), &EXT4_I(inode)->i_##field); \
1920 static inline int ext4_test_inode_flag(struct inode *inode, int bit);
1921 static inline void ext4_set_inode_flag(struct inode *inode, int bit);
1922 static inline void ext4_clear_inode_flag(struct inode *inode, int bit);
1927 static inline int ext4_test_inode_state(struct inode *inode, int bit);
1928 static inline void ext4_set_inode_state(struct inode *inode, int bit);
1929 static inline void ext4_clear_inode_state(struct inode *inode, int bit);
1952 static inline bool ext4_verity_in_progress(struct inode *inode) in ext4_verity_in_progress() argument
1955 ext4_test_inode_state(inode, EXT4_STATE_VERITY_IN_PROGRESS); in ext4_verity_in_progress()
1958 #define NEXT_ORPHAN(inode) EXT4_I(inode)->i_dtime argument
2287 __le32 inode; /* Inode number */ member
2311 __le32 inode; /* Inode number */ member
2329 static inline bool ext4_hash_in_dirent(const struct inode *inode) in ext4_hash_in_dirent() argument
2331 return IS_CASEFOLDED(inode) && IS_ENCRYPTED(inode); in ext4_hash_in_dirent()
2384 const struct inode *dir) in ext4_dir_rec_len()
2521 static inline bool ext4_is_quota_file(struct inode *inode) in ext4_is_quota_file() argument
2523 return IS_NOQUOTA(inode) && in ext4_is_quota_file()
2524 !(EXT4_I(inode)->i_flags & EXT4_EA_INODE_FL); in ext4_is_quota_file()
2702 extern ext4_fsblk_t ext4_new_meta_blocks(handle_t *handle, struct inode *inode,
2728 ext4_fsblk_t ext4_inode_to_goal_block(struct inode *);
2731 extern int ext4_fname_setup_ci_filename(struct inode *dir,
2740 int ext4_fname_setup_filename(struct inode *dir, const struct qstr *iname,
2743 int ext4_fname_prepare_lookup(struct inode *dir, struct dentry *dentry,
2751 static inline int ext4_fname_setup_filename(struct inode *dir, in ext4_fname_setup_filename()
2768 static inline int ext4_fname_prepare_lookup(struct inode *dir, in ext4_fname_prepare_lookup()
2791 extern int __ext4_check_dir_entry(const char *, unsigned int, struct inode *,
2804 extern int ext4_find_dest_de(struct inode *dir, struct inode *inode,
2809 void ext4_insert_dentry(struct inode *dir, struct inode *inode,
2813 static inline void ext4_update_dx_flag(struct inode *inode) in ext4_update_dx_flag() argument
2815 if (!ext4_has_feature_dir_index(inode->i_sb) && in ext4_update_dx_flag()
2816 ext4_test_inode_flag(inode, EXT4_INODE_INDEX)) { in ext4_update_dx_flag()
2818 WARN_ON_ONCE(ext4_has_feature_metadata_csum(inode->i_sb)); in ext4_update_dx_flag()
2819 ext4_clear_inode_flag(inode, EXT4_INODE_INDEX); in ext4_update_dx_flag()
2833 extern int ext4_check_all_de(struct inode *dir, struct buffer_head *bh,
2840 extern int ext4fs_dirhash(const struct inode *dir, const char *name, int len,
2845 extern struct inode *__ext4_new_inode(struct mnt_idmap *, handle_t *,
2846 struct inode *, umode_t,
2861 extern void ext4_free_inode(handle_t *, struct inode *);
2862 extern struct inode * ext4_orphan_get(struct super_block *, unsigned long);
2873 void ext4_fc_init_inode(struct inode *inode);
2874 void ext4_fc_track_range(handle_t *handle, struct inode *inode, ext4_lblk_t start,
2876 void __ext4_fc_track_unlink(handle_t *handle, struct inode *inode,
2878 void __ext4_fc_track_link(handle_t *handle, struct inode *inode,
2882 void __ext4_fc_track_create(handle_t *handle, struct inode *inode,
2885 void ext4_fc_track_inode(handle_t *handle, struct inode *inode);
2887 void ext4_fc_start_update(struct inode *inode);
2888 void ext4_fc_stop_update(struct inode *inode);
2889 void ext4_fc_del(struct inode *inode);
2907 extern void ext4_discard_preallocations(struct inode *, unsigned int);
2916 extern void ext4_free_blocks(handle_t *handle, struct inode *inode,
2935 void ext4_inode_csum_set(struct inode *inode, struct ext4_inode *raw,
2937 int ext4_inode_is_fast_symlink(struct inode *inode);
2938 struct buffer_head *ext4_getblk(handle_t *, struct inode *, ext4_lblk_t, int);
2939 struct buffer_head *ext4_bread(handle_t *, struct inode *, ext4_lblk_t, int);
2940 int ext4_bread_batch(struct inode *inode, ext4_lblk_t block, int bh_count,
2942 int ext4_get_block_unwritten(struct inode *inode, sector_t iblock,
2944 int ext4_get_block(struct inode *inode, sector_t iblock,
2946 int ext4_da_get_block_prep(struct inode *inode, sector_t iblock,
2949 struct inode *inode,
2954 int (*fn)(handle_t *handle, struct inode *inode,
2956 int do_journal_get_write_access(handle_t *handle, struct inode *inode,
2969 extern struct inode *__ext4_iget(struct super_block *sb, unsigned long ino,
2976 extern int ext4_write_inode(struct inode *, struct writeback_control *);
2979 extern u32 ext4_dio_alignment(struct inode *inode);
2982 extern void ext4_evict_inode(struct inode *);
2983 extern void ext4_clear_inode(struct inode *);
2986 extern void ext4_dirty_inode(struct inode *, int);
2987 extern int ext4_change_inode_journal_flag(struct inode *, int);
2988 extern int ext4_get_inode_loc(struct inode *, struct ext4_iloc *);
2991 extern int ext4_inode_attach_jinode(struct inode *inode);
2992 extern int ext4_can_truncate(struct inode *inode);
2993 extern int ext4_truncate(struct inode *);
2994 extern int ext4_break_layouts(struct inode *);
2996 extern void ext4_set_inode_flags(struct inode *, bool init);
2997 extern int ext4_alloc_da_blocks(struct inode *inode);
2998 extern void ext4_set_aops(struct inode *inode);
2999 extern int ext4_writepage_trans_blocks(struct inode *);
3001 extern int ext4_chunk_trans_blocks(struct inode *, int nrblocks);
3002 extern int ext4_zero_partial_blocks(handle_t *handle, struct inode *inode,
3005 extern qsize_t *ext4_get_reserved_space(struct inode *inode);
3006 extern int ext4_get_projid(struct inode *inode, kprojid_t *projid);
3007 extern void ext4_da_release_space(struct inode *inode, int to_free);
3008 extern void ext4_da_update_reserve_space(struct inode *inode,
3010 extern int ext4_issue_zeroout(struct inode *inode, ext4_lblk_t lblk,
3014 extern int ext4_ind_map_blocks(handle_t *handle, struct inode *inode,
3016 extern int ext4_ind_trans_blocks(struct inode *inode, int nrblocks);
3017 extern void ext4_ind_truncate(handle_t *, struct inode *inode);
3018 extern int ext4_ind_remove_space(handle_t *handle, struct inode *inode,
3027 extern void ext4_reset_inode_seed(struct inode *inode);
3032 extern int ext4_ext_migrate(struct inode *);
3033 extern int ext4_ind_migrate(struct inode *inode);
3036 extern int ext4_init_new_dir(handle_t *handle, struct inode *dir,
3037 struct inode *inode);
3038 extern int ext4_dirblock_csum_verify(struct inode *inode,
3045 struct inode *dir,
3049 extern int ext4_generic_delete_entry(struct inode *dir,
3055 extern bool ext4_empty_dir(struct inode *inode);
3099 void __ext4_error_inode(struct inode *, const char *, unsigned int,
3110 void __ext4_warning_inode(const struct inode *inode, const char *function,
3122 #define EXT4_ERROR_INODE(inode, fmt, a...) \ argument
3123 ext4_error_inode((inode), __func__, __LINE__, 0, (fmt), ## a)
3125 #define EXT4_ERROR_INODE_ERR(inode, err, fmt, a...) \ argument
3126 __ext4_error_inode((inode), __func__, __LINE__, 0, (err), (fmt), ## a)
3128 #define ext4_error_inode_block(inode, block, err, fmt, a...) \ argument
3129 __ext4_error_inode((inode), __func__, __LINE__, (block), (err), \
3140 #define ext4_error_inode(inode, func, line, block, fmt, ...) \ argument
3141 __ext4_error_inode(inode, func, line, block, 0, fmt, ##__VA_ARGS__)
3142 #define ext4_error_inode_err(inode, func, line, block, err, fmt, ...) \ argument
3143 __ext4_error_inode((inode), (func), (line), (block), \
3155 #define ext4_warning_inode(inode, fmt, ...) \ argument
3156 __ext4_warning_inode(inode, __func__, __LINE__, fmt, ##__VA_ARGS__)
3167 #define ext4_error_inode(inode, func, line, block, fmt, ...) \ argument
3170 __ext4_error_inode(inode, "", 0, block, 0, " "); \
3172 #define ext4_error_inode_err(inode, func, line, block, err, fmt, ...) \ argument
3175 __ext4_error_inode(inode, "", 0, block, err, " "); \
3197 #define ext4_warning_inode(inode, fmt, ...) \ argument
3200 __ext4_warning_inode(inode, "", 0, " "); \
3366 static inline void ext4_update_i_disksize(struct inode *inode, loff_t newsize) in ext4_update_i_disksize() argument
3368 WARN_ON_ONCE(S_ISREG(inode->i_mode) && in ext4_update_i_disksize()
3369 !inode_is_locked(inode)); in ext4_update_i_disksize()
3370 down_write(&EXT4_I(inode)->i_data_sem); in ext4_update_i_disksize()
3371 if (newsize > EXT4_I(inode)->i_disksize) in ext4_update_i_disksize()
3372 WRITE_ONCE(EXT4_I(inode)->i_disksize, newsize); in ext4_update_i_disksize()
3373 up_write(&EXT4_I(inode)->i_data_sem); in ext4_update_i_disksize()
3377 static inline int ext4_update_inode_size(struct inode *inode, loff_t newsize) in ext4_update_inode_size() argument
3381 if (newsize > inode->i_size) { in ext4_update_inode_size()
3382 i_size_write(inode, newsize); in ext4_update_inode_size()
3385 if (newsize > EXT4_I(inode)->i_disksize) { in ext4_update_inode_size()
3386 ext4_update_i_disksize(inode, newsize); in ext4_update_inode_size()
3392 int ext4_update_disksize_before_punch(struct inode *inode, loff_t offset,
3510 #define ext4_check_indirect_blockref(inode, bh) \ argument
3511 ext4_check_blockref(__func__, __LINE__, inode, \
3513 EXT4_ADDR_PER_BLOCK((inode)->i_sb))
3515 #define ext4_ind_check_inode(inode) \ argument
3516 ext4_check_blockref(__func__, __LINE__, inode, \
3517 EXT4_I(inode)->i_data, \
3533 extern int ext4_get_max_inline_size(struct inode *inode);
3534 extern int ext4_find_inline_data_nolock(struct inode *inode);
3535 extern int ext4_destroy_inline_data(handle_t *handle, struct inode *inode);
3537 int ext4_readpage_inline(struct inode *inode, struct folio *folio);
3539 struct inode *inode,
3542 int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
3545 struct inode *inode,
3551 struct inode *dir, struct inode *inode);
3553 struct inode *parent,
3554 struct inode *inode);
3559 struct inode *dir, ext4_lblk_t block,
3563 extern struct buffer_head *ext4_find_inline_entry(struct inode *dir,
3568 struct inode *dir,
3572 extern bool empty_inline_dir(struct inode *dir, int *has_inline_data);
3573 extern struct buffer_head *ext4_get_first_inline_block(struct inode *inode,
3576 extern void *ext4_read_inline_link(struct inode *inode);
3579 extern int ext4_inline_data_iomap(struct inode *inode, struct iomap *iomap);
3581 extern int ext4_inline_data_truncate(struct inode *inode, int *has_inline);
3583 extern int ext4_convert_inline_data(struct inode *inode);
3585 static inline int ext4_has_inline_data(struct inode *inode) in ext4_has_inline_data() argument
3587 return ext4_test_inode_flag(inode, EXT4_INODE_INLINE_DATA) && in ext4_has_inline_data()
3588 EXT4_I(inode)->i_inline_off; in ext4_has_inline_data()
3595 extern struct ext4_dir_entry_2 *ext4_init_dot_dotdot(struct inode *inode,
3601 extern int ext4_handle_dirty_dirblock(handle_t *handle, struct inode *inode,
3603 extern int __ext4_unlink(struct inode *dir, const struct qstr *d_name,
3604 struct inode *inode, struct dentry *dentry);
3605 extern int __ext4_link(struct inode *dir, struct inode *inode,
3627 extern int ext4_mpage_readpages(struct inode *inode,
3649 extern int ext4_inode_block_valid(struct inode *inode,
3653 struct inode *, __le32 *, unsigned int);
3654 extern int ext4_sb_block_valid(struct super_block *sb, struct inode *inode,
3668 extern void ext4_ext_tree_init(handle_t *handle, struct inode *inode);
3669 extern int ext4_ext_index_trans_blocks(struct inode *inode, int extents);
3670 extern int ext4_ext_map_blocks(handle_t *handle, struct inode *inode,
3672 extern int ext4_ext_truncate(handle_t *, struct inode *);
3673 extern int ext4_ext_remove_space(struct inode *inode, ext4_lblk_t start,
3679 extern int ext4_convert_unwritten_extents(handle_t *handle, struct inode *inode,
3683 extern int ext4_map_blocks(handle_t *handle, struct inode *inode,
3685 extern int ext4_ext_calc_credits_for_single_extent(struct inode *inode,
3688 extern int ext4_ext_insert_extent(handle_t *, struct inode *,
3691 extern struct ext4_ext_path *ext4_find_extent(struct inode *, ext4_lblk_t,
3695 extern int ext4_ext_check_inode(struct inode *inode);
3697 extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
3699 extern int ext4_get_es_cache(struct inode *inode,
3702 extern int ext4_ext_precache(struct inode *inode);
3703 extern int ext4_swap_extents(handle_t *handle, struct inode *inode1,
3704 struct inode *inode2, ext4_lblk_t lblk1,
3707 extern int ext4_clu_mapped(struct inode *inode, ext4_lblk_t lclu);
3708 extern int ext4_datasem_ensure_credits(handle_t *handle, struct inode *inode,
3711 extern void ext4_ext_replay_shrink_inode(struct inode *inode, ext4_lblk_t end);
3712 extern int ext4_ext_replay_set_iblocks(struct inode *inode);
3713 extern int ext4_ext_replay_update_ex(struct inode *inode, ext4_lblk_t start,
3715 extern int ext4_ext_clear_bb(struct inode *inode);
3719 extern void ext4_double_down_write_data_sem(struct inode *first,
3720 struct inode *second);
3721 extern void ext4_double_up_write_data_sem(struct inode *orig_inode,
3722 struct inode *donor_inode);
3730 extern ext4_io_end_t *ext4_init_io_end(struct inode *inode, gfp_t flags);
3753 extern int ext4_orphan_add(handle_t *, struct inode *);
3754 extern int ext4_orphan_del(handle_t *, struct inode *);
3791 static inline void ext4_set_io_unwritten_flag(struct inode *inode, in ext4_set_io_unwritten_flag() argument
3796 atomic_inc(&EXT4_I(inode)->i_unwritten); in ext4_set_io_unwritten_flag()
3802 struct inode *inode = io_end->inode; in ext4_clear_io_unwritten_flag() local
3807 if (atomic_dec_and_test(&EXT4_I(inode)->i_unwritten)) in ext4_clear_io_unwritten_flag()
3808 wake_up_all(ext4_ioend_wq(inode)); in ext4_clear_io_unwritten_flag()