Lines Matching refs:inode
97 typedef int (get_block_t)(struct inode *inode, sector_t iblock,
504 struct inode *host;
633 #define i_size_ordered_init(inode) seqcount_init(&inode->i_size_seqcount) argument
635 #define i_size_ordered_init(inode) do { } while (0) argument
672 struct inode { struct
759 void (*free_inode)(struct inode *); argument
792 static inline void inode_set_cached_link(struct inode *inode, char *link, int linklen) in inode_set_cached_link() argument
794 VFS_WARN_ON_INODE(strlen(link) != linklen, inode); in inode_set_cached_link()
795 VFS_WARN_ON_INODE(inode->i_opflags & IOP_CACHED_LINK, inode); in inode_set_cached_link()
796 inode->i_link = link; in inode_set_cached_link()
797 inode->i_linklen = linklen; in inode_set_cached_link()
798 inode->i_opflags |= IOP_CACHED_LINK; in inode_set_cached_link()
805 #define inode_state_wait_address(inode, bit) ((char *)&(inode)->i_state + (bit)) argument
808 struct inode *inode, u32 bit);
810 static inline void inode_wake_up_bit(struct inode *inode, u32 bit) in inode_wake_up_bit() argument
813 wake_up_var(inode_state_wait_address(inode, bit)); in inode_wake_up_bit()
816 struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode);
818 static inline unsigned int i_blocksize(const struct inode *node) in i_blocksize()
823 static inline int inode_unhashed(struct inode *inode) in inode_unhashed() argument
825 return hlist_unhashed(&inode->i_hash); in inode_unhashed()
834 static inline void inode_fake_hash(struct inode *inode) in inode_fake_hash() argument
836 hlist_add_fake(&inode->i_hash); in inode_fake_hash()
865 static inline void inode_lock(struct inode *inode) in inode_lock() argument
867 down_write(&inode->i_rwsem); in inode_lock()
870 static inline void inode_unlock(struct inode *inode) in inode_unlock() argument
872 up_write(&inode->i_rwsem); in inode_unlock()
875 static inline void inode_lock_shared(struct inode *inode) in inode_lock_shared() argument
877 down_read(&inode->i_rwsem); in inode_lock_shared()
880 static inline void inode_unlock_shared(struct inode *inode) in inode_unlock_shared() argument
882 up_read(&inode->i_rwsem); in inode_unlock_shared()
885 static inline int inode_trylock(struct inode *inode) in inode_trylock() argument
887 return down_write_trylock(&inode->i_rwsem); in inode_trylock()
890 static inline int inode_trylock_shared(struct inode *inode) in inode_trylock_shared() argument
892 return down_read_trylock(&inode->i_rwsem); in inode_trylock_shared()
895 static inline int inode_is_locked(struct inode *inode) in inode_is_locked() argument
897 return rwsem_is_locked(&inode->i_rwsem); in inode_is_locked()
900 static inline void inode_lock_nested(struct inode *inode, unsigned subclass) in inode_lock_nested() argument
902 down_write_nested(&inode->i_rwsem, subclass); in inode_lock_nested()
905 static inline void inode_lock_shared_nested(struct inode *inode, unsigned subclass) in inode_lock_shared_nested() argument
907 down_read_nested(&inode->i_rwsem, subclass); in inode_lock_shared_nested()
937 void lock_two_nondirectories(struct inode *, struct inode*);
938 void unlock_two_nondirectories(struct inode *, struct inode*);
956 static inline loff_t i_size_read(const struct inode *inode) in i_size_read() argument
963 seq = read_seqcount_begin(&inode->i_size_seqcount); in i_size_read()
964 i_size = inode->i_size; in i_size_read()
965 } while (read_seqcount_retry(&inode->i_size_seqcount, seq)); in i_size_read()
971 i_size = inode->i_size; in i_size_read()
976 return smp_load_acquire(&inode->i_size); in i_size_read()
985 static inline void i_size_write(struct inode *inode, loff_t i_size) in i_size_write() argument
989 write_seqcount_begin(&inode->i_size_seqcount); in i_size_write()
990 inode->i_size = i_size; in i_size_write()
991 write_seqcount_end(&inode->i_size_seqcount); in i_size_write()
995 inode->i_size = i_size; in i_size_write()
1003 smp_store_release(&inode->i_size, i_size); in i_size_write()
1007 static inline unsigned iminor(const struct inode *inode) in iminor() argument
1009 return MINOR(inode->i_rdev); in iminor()
1012 static inline unsigned imajor(const struct inode *inode) in imajor() argument
1014 return MAJOR(inode->i_rdev); in imajor()
1090 struct inode *f_inode;
1172 static inline struct inode *file_inode(const struct file *f) in file_inode()
1455 static inline struct user_namespace *i_user_ns(const struct inode *inode) in i_user_ns() argument
1457 return inode->i_sb->s_user_ns; in i_user_ns()
1465 static inline uid_t i_uid_read(const struct inode *inode) in i_uid_read() argument
1467 return from_kuid(i_user_ns(inode), inode->i_uid); in i_uid_read()
1470 static inline gid_t i_gid_read(const struct inode *inode) in i_gid_read() argument
1472 return from_kgid(i_user_ns(inode), inode->i_gid); in i_gid_read()
1475 static inline void i_uid_write(struct inode *inode, uid_t uid) in i_uid_write() argument
1477 inode->i_uid = make_kuid(i_user_ns(inode), uid); in i_uid_write()
1480 static inline void i_gid_write(struct inode *inode, gid_t gid) in i_gid_write() argument
1482 inode->i_gid = make_kgid(i_user_ns(inode), gid); in i_gid_write()
1494 const struct inode *inode) in i_uid_into_vfsuid() argument
1496 return make_vfsuid(idmap, i_user_ns(inode), inode->i_uid); in i_uid_into_vfsuid()
1512 const struct inode *inode) in i_uid_needs_update() argument
1516 i_uid_into_vfsuid(idmap, inode))); in i_uid_needs_update()
1530 struct inode *inode) in i_uid_update() argument
1533 inode->i_uid = from_vfsuid(idmap, i_user_ns(inode), in i_uid_update()
1546 const struct inode *inode) in i_gid_into_vfsgid() argument
1548 return make_vfsgid(idmap, i_user_ns(inode), inode->i_gid); in i_gid_into_vfsgid()
1564 const struct inode *inode) in i_gid_needs_update() argument
1568 i_gid_into_vfsgid(idmap, inode))); in i_gid_needs_update()
1582 struct inode *inode) in i_gid_update() argument
1585 inode->i_gid = from_vfsgid(idmap, i_user_ns(inode), in i_gid_update()
1597 static inline void inode_fsuid_set(struct inode *inode, in inode_fsuid_set() argument
1600 inode->i_uid = mapped_fsuid(idmap, i_user_ns(inode)); in inode_fsuid_set()
1611 static inline void inode_fsgid_set(struct inode *inode, in inode_fsgid_set() argument
1614 inode->i_gid = mapped_fsgid(idmap, i_user_ns(inode)); in inode_fsgid_set()
1645 struct timespec64 current_time(struct inode *inode);
1646 struct timespec64 inode_set_ctime_current(struct inode *inode);
1647 struct timespec64 inode_set_ctime_deleg(struct inode *inode,
1650 static inline time64_t inode_get_atime_sec(const struct inode *inode) in inode_get_atime_sec() argument
1652 return inode->i_atime_sec; in inode_get_atime_sec()
1655 static inline long inode_get_atime_nsec(const struct inode *inode) in inode_get_atime_nsec() argument
1657 return inode->i_atime_nsec; in inode_get_atime_nsec()
1660 static inline struct timespec64 inode_get_atime(const struct inode *inode) in inode_get_atime() argument
1662 struct timespec64 ts = { .tv_sec = inode_get_atime_sec(inode), in inode_get_atime()
1663 .tv_nsec = inode_get_atime_nsec(inode) }; in inode_get_atime()
1668 static inline struct timespec64 inode_set_atime_to_ts(struct inode *inode, in inode_set_atime_to_ts() argument
1671 inode->i_atime_sec = ts.tv_sec; in inode_set_atime_to_ts()
1672 inode->i_atime_nsec = ts.tv_nsec; in inode_set_atime_to_ts()
1676 static inline struct timespec64 inode_set_atime(struct inode *inode, in inode_set_atime() argument
1682 return inode_set_atime_to_ts(inode, ts); in inode_set_atime()
1685 static inline time64_t inode_get_mtime_sec(const struct inode *inode) in inode_get_mtime_sec() argument
1687 return inode->i_mtime_sec; in inode_get_mtime_sec()
1690 static inline long inode_get_mtime_nsec(const struct inode *inode) in inode_get_mtime_nsec() argument
1692 return inode->i_mtime_nsec; in inode_get_mtime_nsec()
1695 static inline struct timespec64 inode_get_mtime(const struct inode *inode) in inode_get_mtime() argument
1697 struct timespec64 ts = { .tv_sec = inode_get_mtime_sec(inode), in inode_get_mtime()
1698 .tv_nsec = inode_get_mtime_nsec(inode) }; in inode_get_mtime()
1702 static inline struct timespec64 inode_set_mtime_to_ts(struct inode *inode, in inode_set_mtime_to_ts() argument
1705 inode->i_mtime_sec = ts.tv_sec; in inode_set_mtime_to_ts()
1706 inode->i_mtime_nsec = ts.tv_nsec; in inode_set_mtime_to_ts()
1710 static inline struct timespec64 inode_set_mtime(struct inode *inode, in inode_set_mtime() argument
1715 return inode_set_mtime_to_ts(inode, ts); in inode_set_mtime()
1729 static inline time64_t inode_get_ctime_sec(const struct inode *inode) in inode_get_ctime_sec() argument
1731 return inode->i_ctime_sec; in inode_get_ctime_sec()
1734 static inline long inode_get_ctime_nsec(const struct inode *inode) in inode_get_ctime_nsec() argument
1736 return inode->i_ctime_nsec & ~I_CTIME_QUERIED; in inode_get_ctime_nsec()
1739 static inline struct timespec64 inode_get_ctime(const struct inode *inode) in inode_get_ctime() argument
1741 struct timespec64 ts = { .tv_sec = inode_get_ctime_sec(inode), in inode_get_ctime()
1742 .tv_nsec = inode_get_ctime_nsec(inode) }; in inode_get_ctime()
1747 struct timespec64 inode_set_ctime_to_ts(struct inode *inode, struct timespec64 ts);
1757 static inline struct timespec64 inode_set_ctime(struct inode *inode, in inode_set_ctime() argument
1763 return inode_set_ctime_to_ts(inode, ts); in inode_set_ctime()
1766 struct timespec64 simple_inode_init_ts(struct inode *inode);
1975 const struct inode *inode);
1980 int vfs_create(struct mnt_idmap *, struct inode *,
1982 struct dentry *vfs_mkdir(struct mnt_idmap *, struct inode *,
1984 int vfs_mknod(struct mnt_idmap *, struct inode *, struct dentry *,
1986 int vfs_symlink(struct mnt_idmap *, struct inode *,
1988 int vfs_link(struct dentry *, struct mnt_idmap *, struct inode *,
1989 struct dentry *, struct inode **);
1990 int vfs_rmdir(struct mnt_idmap *, struct inode *, struct dentry *);
1991 int vfs_unlink(struct mnt_idmap *, struct inode *, struct dentry *,
1992 struct inode **);
2007 struct inode *old_dir;
2010 struct inode *new_dir;
2012 struct inode **delegated_inode;
2019 struct inode *dir, struct dentry *dentry) in vfs_whiteout()
2052 void inode_init_owner(struct mnt_idmap *idmap, struct inode *inode,
2053 const struct inode *dir, umode_t mode);
2056 const struct inode *dir, umode_t mode);
2058 const struct inode *inode, vfsgid_t vfsgid);
2144 int (*open) (struct inode *, struct file *);
2146 int (*release) (struct inode *, struct file *);
2199 struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int);
2200 const char * (*get_link) (struct dentry *, struct inode *, struct delayed_call *);
2201 int (*permission) (struct mnt_idmap *, struct inode *, int);
2202 struct posix_acl * (*get_inode_acl)(struct inode *, int, bool);
2206 int (*create) (struct mnt_idmap *, struct inode *,struct dentry *,
2208 int (*link) (struct dentry *,struct inode *,struct dentry *);
2209 int (*unlink) (struct inode *,struct dentry *);
2210 int (*symlink) (struct mnt_idmap *, struct inode *,struct dentry *,
2212 struct dentry *(*mkdir) (struct mnt_idmap *, struct inode *,
2214 int (*rmdir) (struct inode *,struct dentry *);
2215 int (*mknod) (struct mnt_idmap *, struct inode *,struct dentry *,
2217 int (*rename) (struct mnt_idmap *, struct inode *, struct dentry *,
2218 struct inode *, struct dentry *, unsigned int);
2223 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
2225 int (*update_time)(struct inode *, int);
2226 int (*atomic_open)(struct inode *, struct dentry *,
2229 int (*tmpfile) (struct mnt_idmap *, struct inode *,
2238 struct offset_ctx *(*get_offset_ctx)(struct inode *inode);
2288 struct inode *(*alloc_inode)(struct super_block *sb);
2289 void (*destroy_inode)(struct inode *);
2290 void (*free_inode)(struct inode *);
2292 void (*dirty_inode) (struct inode *, int flags);
2293 int (*write_inode) (struct inode *, struct writeback_control *wbc);
2294 int (*drop_inode) (struct inode *);
2295 void (*evict_inode) (struct inode *);
2313 struct dquot __rcu **(*get_dquots)(struct inode *);
2361 #define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) argument
2364 #define IS_RDONLY(inode) sb_rdonly((inode)->i_sb) argument
2365 #define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \ argument
2366 ((inode)->i_flags & S_SYNC))
2367 #define IS_DIRSYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS|SB_DIRSYNC) || \ argument
2368 ((inode)->i_flags & (S_SYNC|S_DIRSYNC)))
2369 #define IS_MANDLOCK(inode) __IS_FLG(inode, SB_MANDLOCK) argument
2370 #define IS_NOATIME(inode) __IS_FLG(inode, SB_RDONLY|SB_NOATIME) argument
2371 #define IS_I_VERSION(inode) __IS_FLG(inode, SB_I_VERSION) argument
2373 #define IS_NOQUOTA(inode) ((inode)->i_flags & S_NOQUOTA) argument
2374 #define IS_APPEND(inode) ((inode)->i_flags & S_APPEND) argument
2375 #define IS_IMMUTABLE(inode) ((inode)->i_flags & S_IMMUTABLE) argument
2378 #define IS_POSIXACL(inode) __IS_FLG(inode, SB_POSIXACL) argument
2380 #define IS_POSIXACL(inode) 0 argument
2383 #define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD) argument
2384 #define IS_NOCMTIME(inode) ((inode)->i_flags & S_NOCMTIME) argument
2387 #define IS_SWAPFILE(inode) ((inode)->i_flags & S_SWAPFILE) argument
2389 #define IS_SWAPFILE(inode) ((void)(inode), 0U) argument
2392 #define IS_PRIVATE(inode) ((inode)->i_flags & S_PRIVATE) argument
2393 #define IS_IMA(inode) ((inode)->i_flags & S_IMA) argument
2394 #define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) argument
2395 #define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) argument
2396 #define IS_DAX(inode) ((inode)->i_flags & S_DAX) argument
2397 #define IS_ENCRYPTED(inode) ((inode)->i_flags & S_ENCRYPTED) argument
2398 #define IS_CASEFOLDED(inode) ((inode)->i_flags & S_CASEFOLD) argument
2399 #define IS_VERITY(inode) ((inode)->i_flags & S_VERITY) argument
2401 #define IS_WHITEOUT(inode) (S_ISCHR(inode->i_mode) && \ argument
2402 (inode)->i_rdev == WHITEOUT_DEV)
2405 struct inode *inode) in HAS_UNMAPPED_ID() argument
2407 return !vfsuid_valid(i_uid_into_vfsuid(idmap, inode)) || in HAS_UNMAPPED_ID()
2408 !vfsgid_valid(i_gid_into_vfsgid(idmap, inode)); in HAS_UNMAPPED_ID()
2542 extern void __mark_inode_dirty(struct inode *, int);
2543 static inline void mark_inode_dirty(struct inode *inode) in mark_inode_dirty() argument
2545 __mark_inode_dirty(inode, I_DIRTY); in mark_inode_dirty()
2548 static inline void mark_inode_dirty_sync(struct inode *inode) in mark_inode_dirty_sync() argument
2550 __mark_inode_dirty(inode, I_DIRTY_SYNC); in mark_inode_dirty_sync()
2562 static inline bool inode_is_dirtytime_only(struct inode *inode) in inode_is_dirtytime_only() argument
2564 return (inode->i_state & (I_DIRTY_TIME | I_NEW | in inode_is_dirtytime_only()
2568 extern void inc_nlink(struct inode *inode);
2569 extern void drop_nlink(struct inode *inode);
2570 extern void clear_nlink(struct inode *inode);
2571 extern void set_nlink(struct inode *inode, unsigned int nlink);
2573 static inline void inode_inc_link_count(struct inode *inode) in inode_inc_link_count() argument
2575 inc_nlink(inode); in inode_inc_link_count()
2576 mark_inode_dirty(inode); in inode_inc_link_count()
2579 static inline void inode_dec_link_count(struct inode *inode) in inode_dec_link_count() argument
2581 drop_nlink(inode); in inode_dec_link_count()
2582 mark_inode_dirty(inode); in inode_dec_link_count()
2592 extern bool atime_needs_update(const struct path *, struct inode *);
2594 int inode_update_time(struct inode *inode, int flags);
2605 int sync_inode_metadata(struct inode *inode, int wait);
2647 static inline bool is_mgtime(const struct inode *inode) in is_mgtime() argument
2649 return inode->i_opflags & IOP_MGTIME; in is_mgtime()
2754 extern void ihold(struct inode * inode);
2755 extern void iput(struct inode *);
2756 int inode_update_timestamps(struct inode *inode, int flags);
2757 int generic_update_time(struct inode *, int);
2835 static inline const struct inode *file_user_inode(struct file *f) in file_user_inode()
2875 int (*open)(struct inode *, struct file *));
2936 extern void init_special_inode(struct inode *, umode_t, dev_t);
2939 extern void make_bad_inode(struct inode *);
2940 extern bool is_bad_inode(struct inode *);
2995 extern int bmap(struct inode *inode, sector_t *block);
2997 static inline int bmap(struct inode *inode, sector_t *block) in bmap() argument
3004 struct iattr *, struct inode **);
3005 int inode_permission(struct mnt_idmap *, struct inode *, int);
3006 int generic_permission(struct mnt_idmap *, struct inode *, int);
3017 int __check_sticky(struct mnt_idmap *idmap, struct inode *dir,
3018 struct inode *inode);
3020 static inline bool execute_ok(struct inode *inode) in execute_ok() argument
3022 return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode); in execute_ok()
3025 static inline bool inode_wrong_type(const struct inode *inode, umode_t mode) in inode_wrong_type() argument
3027 return (inode->i_mode ^ mode) & S_IFMT; in inode_wrong_type()
3073 struct inode *inode = file_inode(iocb->ki_filp); in kiocb_start_write() local
3075 sb_start_write(inode->i_sb); in kiocb_start_write()
3080 __sb_writers_release(inode->i_sb, SB_FREEZE_WRITE); in kiocb_start_write()
3091 struct inode *inode = file_inode(iocb->ki_filp); in kiocb_end_write() local
3096 __sb_writers_acquired(inode->i_sb, SB_FREEZE_WRITE); in kiocb_end_write()
3097 sb_end_write(inode->i_sb); in kiocb_end_write()
3121 static inline int get_write_access(struct inode *inode) in get_write_access() argument
3123 return atomic_inc_unless_negative(&inode->i_writecount) ? 0 : -ETXTBSY; in get_write_access()
3127 struct inode *inode = file_inode(file); in deny_write_access() local
3128 return atomic_dec_unless_positive(&inode->i_writecount) ? 0 : -ETXTBSY; in deny_write_access()
3130 static inline void put_write_access(struct inode * inode) in put_write_access() argument
3132 atomic_dec(&inode->i_writecount); in put_write_access()
3167 static inline bool inode_is_open_for_write(const struct inode *inode) in inode_is_open_for_write() argument
3169 return atomic_read(&inode->i_writecount) > 0; in inode_is_open_for_write()
3173 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
3175 BUG_ON(atomic_dec_return(&inode->i_readcount) < 0); in i_readcount_dec()
3177 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
3179 atomic_inc(&inode->i_readcount); in i_readcount_inc()
3182 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
3186 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
3223 extern int inode_init_always_gfp(struct super_block *, struct inode *, gfp_t);
3224 static inline int inode_init_always(struct super_block *sb, struct inode *inode) in inode_init_always() argument
3226 return inode_init_always_gfp(sb, inode, GFP_NOFS); in inode_init_always()
3229 extern void inode_init_once(struct inode *);
3231 extern struct inode * igrab(struct inode *);
3233 extern int inode_needs_sync(struct inode *inode);
3234 extern int generic_delete_inode(struct inode *inode);
3235 static inline int generic_drop_inode(struct inode *inode) in generic_drop_inode() argument
3237 return !inode->i_nlink || inode_unhashed(inode); in generic_drop_inode()
3239 extern void d_mark_dontcache(struct inode *inode);
3241 extern struct inode *ilookup5_nowait(struct super_block *sb,
3242 unsigned long hashval, int (*test)(struct inode *, void *),
3244 extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
3245 int (*test)(struct inode *, void *), void *data);
3246 extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
3248 extern struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
3249 int (*test)(struct inode *, void *),
3250 int (*set)(struct inode *, void *),
3252 struct inode *iget5_locked(struct super_block *, unsigned long,
3253 int (*test)(struct inode *, void *),
3254 int (*set)(struct inode *, void *), void *);
3255 struct inode *iget5_locked_rcu(struct super_block *, unsigned long,
3256 int (*test)(struct inode *, void *),
3257 int (*set)(struct inode *, void *), void *);
3258 extern struct inode * iget_locked(struct super_block *, unsigned long);
3259 extern struct inode *find_inode_nowait(struct super_block *,
3261 int (*match)(struct inode *,
3264 extern struct inode *find_inode_rcu(struct super_block *, unsigned long,
3265 int (*)(struct inode *, void *), void *);
3266 extern struct inode *find_inode_by_ino_rcu(struct super_block *, unsigned long);
3267 extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *),…
3268 extern int insert_inode_locked(struct inode *);
3270 extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
3272 static inline void lockdep_annotate_inode_mutex_key(struct inode *inode) { }; in lockdep_annotate_inode_mutex_key() argument
3274 extern void unlock_new_inode(struct inode *);
3275 extern void discard_new_inode(struct inode *);
3298 static inline void __iget(struct inode *inode) in __iget() argument
3300 atomic_inc(&inode->i_count); in __iget()
3303 extern void iget_failed(struct inode *);
3304 extern void clear_inode(struct inode *);
3305 extern void __destroy_inode(struct inode *);
3306 struct inode *alloc_inode(struct super_block *sb);
3307 static inline struct inode *new_inode_pseudo(struct super_block *sb) in new_inode_pseudo()
3311 extern struct inode *new_inode(struct super_block *sb);
3312 extern void free_inode_nonrcu(struct inode *inode);
3313 extern int setattr_should_drop_suidgid(struct mnt_idmap *, struct inode *);
3317 const struct inode *inode);
3325 extern void __insert_inode_hash(struct inode *, unsigned long hashval);
3326 static inline void insert_inode_hash(struct inode *inode) in insert_inode_hash() argument
3328 __insert_inode_hash(inode, inode->i_ino); in insert_inode_hash()
3331 extern void __remove_inode_hash(struct inode *);
3332 static inline void remove_inode_hash(struct inode *inode) in remove_inode_hash() argument
3334 if (!inode_unhashed(inode) && !hlist_fake(&inode->i_hash)) in remove_inode_hash()
3335 __remove_inode_hash(inode); in remove_inode_hash()
3338 extern void inode_sb_list_add(struct inode *inode);
3339 extern void inode_add_lru(struct inode *inode);
3395 extern int generic_file_open(struct inode * inode, struct file * filp);
3396 extern int nonseekable_open(struct inode * inode, struct file * filp);
3397 extern int stream_open(struct inode * inode, struct file * filp);
3400 typedef void (dio_submit_t)(struct bio *bio, struct inode *inode,
3411 ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
3418 struct inode *inode, in blockdev_direct_IO() argument
3422 return __blockdev_direct_IO(iocb, inode, inode->i_sb->s_bdev, iter, in blockdev_direct_IO()
3427 bool inode_dio_finished(const struct inode *inode);
3428 void inode_dio_wait(struct inode *inode);
3429 void inode_dio_wait_interruptible(struct inode *inode);
3438 static inline void inode_dio_begin(struct inode *inode) in inode_dio_begin() argument
3440 atomic_inc(&inode->i_dio_count); in inode_dio_begin()
3450 static inline void inode_dio_end(struct inode *inode) in inode_dio_end() argument
3452 if (atomic_dec_and_test(&inode->i_dio_count)) in inode_dio_end()
3453 wake_up_var(&inode->i_dio_count); in inode_dio_end()
3456 extern void inode_set_flags(struct inode *inode, unsigned int flags,
3465 extern const char *page_get_link_raw(struct dentry *, struct inode *,
3467 extern const char *page_get_link(struct dentry *, struct inode *,
3470 extern int page_symlink(struct inode *inode, const char *symname, int len);
3473 void fill_mg_cmtime(struct kstat *stat, u32 request_mask, struct inode *inode);
3474 void generic_fillattr(struct mnt_idmap *, u32, struct inode *, struct kstat *);
3475 void generic_fill_statx_attr(struct inode *inode, struct kstat *stat);
3481 void __inode_add_bytes(struct inode *inode, loff_t bytes);
3482 void inode_add_bytes(struct inode *inode, loff_t bytes);
3483 void __inode_sub_bytes(struct inode *inode, loff_t bytes);
3484 void inode_sub_bytes(struct inode *inode, loff_t bytes);
3485 static inline loff_t __inode_get_bytes(struct inode *inode) in __inode_get_bytes() argument
3487 return (((loff_t)inode->i_blocks) << 9) + inode->i_bytes; in __inode_get_bytes()
3489 loff_t inode_get_bytes(struct inode *inode);
3490 void inode_set_bytes(struct inode *inode, loff_t bytes);
3491 const char *simple_get_link(struct dentry *, struct inode *,
3522 extern int dcache_dir_open(struct inode *, struct file *);
3523 extern int dcache_dir_close(struct inode *, struct file *);
3531 extern int simple_open(struct inode *inode, struct file *file);
3532 extern int simple_link(struct dentry *, struct inode *, struct dentry *);
3533 extern int simple_unlink(struct inode *, struct dentry *);
3534 extern int simple_rmdir(struct inode *, struct dentry *);
3535 void simple_rename_timestamp(struct inode *old_dir, struct dentry *old_dentry,
3536 struct inode *new_dir, struct dentry *new_dentry);
3537 extern int simple_rename_exchange(struct inode *old_dir, struct dentry *old_dentry,
3538 struct inode *new_dir, struct dentry *new_dentry);
3539 extern int simple_rename(struct mnt_idmap *, struct inode *,
3540 struct dentry *, struct inode *, struct dentry *,
3552 extern struct inode *alloc_anon_inode(struct super_block *);
3556 extern struct dentry *simple_lookup(struct inode *, struct dentry *, unsigned int flags);
3560 extern void make_empty_dir_inode(struct inode *inode);
3561 extern bool is_empty_dir_inode(struct inode *inode);
3582 int simple_offset_rename(struct inode *old_dir, struct dentry *old_dentry,
3583 struct inode *new_dir, struct dentry *new_dentry);
3584 int simple_offset_rename_exchange(struct inode *old_dir,
3586 struct inode *new_dir,
3598 extern int generic_ci_match(const struct inode *parent,
3630 static inline bool generic_ci_validate_strict_name(struct inode *dir, struct qstr *name) in generic_ci_validate_strict_name()
3645 static inline bool generic_ci_validate_strict_name(struct inode *dir, struct qstr *name) in generic_ci_validate_strict_name()
3660 int may_setattr(struct mnt_idmap *idmap, struct inode *inode,
3663 extern int inode_newsize_ok(const struct inode *, loff_t offset);
3664 void setattr_copy(struct mnt_idmap *, struct inode *inode,
3676 struct inode *inode; in vma_is_fsdax() local
3682 inode = file_inode(vma->vm_file); in vma_is_fsdax()
3683 if (S_ISCHR(inode->i_mode)) in vma_is_fsdax()
3766 int simple_transaction_release(struct inode *inode, struct file *file);
3787 static int __fops ## _open(struct inode *inode, struct file *file) \
3790 return simple_attr_open(inode, file, __get, __set, __fmt); \
3813 int simple_attr_open(struct inode *inode, struct file *file,
3816 int simple_attr_release(struct inode *inode, struct file *file);
3838 struct inode *dir, struct inode *inode) in check_sticky() argument
3843 return __check_sticky(idmap, dir, inode); in check_sticky()
3846 static inline void inode_has_no_xattr(struct inode *inode) in inode_has_no_xattr() argument
3848 if (!is_sxid(inode->i_mode) && (inode->i_sb->s_flags & SB_NOSEC)) in inode_has_no_xattr()
3849 inode->i_flags |= S_NOSEC; in inode_has_no_xattr()
3852 static inline bool is_root_inode(struct inode *inode) in is_root_inode() argument
3854 return inode == inode->i_sb->s_root->d_inode; in is_root_inode()
3887 static inline bool dir_relax(struct inode *inode) in dir_relax() argument
3889 inode_unlock(inode); in dir_relax()
3890 inode_lock(inode); in dir_relax()
3891 return !IS_DEADDIR(inode); in dir_relax()
3894 static inline bool dir_relax_shared(struct inode *inode) in dir_relax_shared() argument
3896 inode_unlock_shared(inode); in dir_relax_shared()
3897 inode_lock_shared(inode); in dir_relax_shared()
3898 return !IS_DEADDIR(inode); in dir_relax_shared()
3902 extern void inode_nohighmem(struct inode *inode);