Lines Matching refs:inode
94 typedef int (get_block_t)(struct inode *inode, sector_t iblock,
468 struct inode *host;
597 #define i_size_ordered_init(inode) seqcount_init(&inode->i_size_seqcount) argument
599 #define i_size_ordered_init(inode) do { } while (0) argument
634 struct inode { struct
721 void (*free_inode)(struct inode *); argument
755 #define inode_state_wait_address(inode, bit) ((char *)&(inode)->i_state + (bit)) argument
758 struct inode *inode, u32 bit);
760 static inline void inode_wake_up_bit(struct inode *inode, u32 bit) in inode_wake_up_bit() argument
763 wake_up_var(inode_state_wait_address(inode, bit)); in inode_wake_up_bit()
766 struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode);
768 static inline unsigned int i_blocksize(const struct inode *node) in i_blocksize()
773 static inline int inode_unhashed(struct inode *inode) in inode_unhashed() argument
775 return hlist_unhashed(&inode->i_hash); in inode_unhashed()
784 static inline void inode_fake_hash(struct inode *inode) in inode_fake_hash() argument
786 hlist_add_fake(&inode->i_hash); in inode_fake_hash()
815 static inline void inode_lock(struct inode *inode) in inode_lock() argument
817 down_write(&inode->i_rwsem); in inode_lock()
820 static inline void inode_unlock(struct inode *inode) in inode_unlock() argument
822 up_write(&inode->i_rwsem); in inode_unlock()
825 static inline void inode_lock_shared(struct inode *inode) in inode_lock_shared() argument
827 down_read(&inode->i_rwsem); in inode_lock_shared()
830 static inline void inode_unlock_shared(struct inode *inode) in inode_unlock_shared() argument
832 up_read(&inode->i_rwsem); in inode_unlock_shared()
835 static inline int inode_trylock(struct inode *inode) in inode_trylock() argument
837 return down_write_trylock(&inode->i_rwsem); in inode_trylock()
840 static inline int inode_trylock_shared(struct inode *inode) in inode_trylock_shared() argument
842 return down_read_trylock(&inode->i_rwsem); in inode_trylock_shared()
845 static inline int inode_is_locked(struct inode *inode) in inode_is_locked() argument
847 return rwsem_is_locked(&inode->i_rwsem); in inode_is_locked()
850 static inline void inode_lock_nested(struct inode *inode, unsigned subclass) in inode_lock_nested() argument
852 down_write_nested(&inode->i_rwsem, subclass); in inode_lock_nested()
855 static inline void inode_lock_shared_nested(struct inode *inode, unsigned subclass) in inode_lock_shared_nested() argument
857 down_read_nested(&inode->i_rwsem, subclass); in inode_lock_shared_nested()
887 void lock_two_nondirectories(struct inode *, struct inode*);
888 void unlock_two_nondirectories(struct inode *, struct inode*);
906 static inline loff_t i_size_read(const struct inode *inode) in i_size_read() argument
913 seq = read_seqcount_begin(&inode->i_size_seqcount); in i_size_read()
914 i_size = inode->i_size; in i_size_read()
915 } while (read_seqcount_retry(&inode->i_size_seqcount, seq)); in i_size_read()
921 i_size = inode->i_size; in i_size_read()
926 return smp_load_acquire(&inode->i_size); in i_size_read()
935 static inline void i_size_write(struct inode *inode, loff_t i_size) in i_size_write() argument
939 write_seqcount_begin(&inode->i_size_seqcount); in i_size_write()
940 inode->i_size = i_size; in i_size_write()
941 write_seqcount_end(&inode->i_size_seqcount); in i_size_write()
945 inode->i_size = i_size; in i_size_write()
953 smp_store_release(&inode->i_size, i_size); in i_size_write()
957 static inline unsigned iminor(const struct inode *inode) in iminor() argument
959 return MINOR(inode->i_rdev); in iminor()
962 static inline unsigned imajor(const struct inode *inode) in imajor() argument
964 return MAJOR(inode->i_rdev); in imajor()
1041 struct inode *f_inode;
1126 static inline struct inode *file_inode(const struct file *f) in file_inode()
1413 static inline struct user_namespace *i_user_ns(const struct inode *inode) in i_user_ns() argument
1415 return inode->i_sb->s_user_ns; in i_user_ns()
1423 static inline uid_t i_uid_read(const struct inode *inode) in i_uid_read() argument
1425 return from_kuid(i_user_ns(inode), inode->i_uid); in i_uid_read()
1428 static inline gid_t i_gid_read(const struct inode *inode) in i_gid_read() argument
1430 return from_kgid(i_user_ns(inode), inode->i_gid); in i_gid_read()
1433 static inline void i_uid_write(struct inode *inode, uid_t uid) in i_uid_write() argument
1435 inode->i_uid = make_kuid(i_user_ns(inode), uid); in i_uid_write()
1438 static inline void i_gid_write(struct inode *inode, gid_t gid) in i_gid_write() argument
1440 inode->i_gid = make_kgid(i_user_ns(inode), gid); in i_gid_write()
1452 const struct inode *inode) in i_uid_into_vfsuid() argument
1454 return make_vfsuid(idmap, i_user_ns(inode), inode->i_uid); in i_uid_into_vfsuid()
1470 const struct inode *inode) in i_uid_needs_update() argument
1474 i_uid_into_vfsuid(idmap, inode))); in i_uid_needs_update()
1488 struct inode *inode) in i_uid_update() argument
1491 inode->i_uid = from_vfsuid(idmap, i_user_ns(inode), in i_uid_update()
1504 const struct inode *inode) in i_gid_into_vfsgid() argument
1506 return make_vfsgid(idmap, i_user_ns(inode), inode->i_gid); in i_gid_into_vfsgid()
1522 const struct inode *inode) in i_gid_needs_update() argument
1526 i_gid_into_vfsgid(idmap, inode))); in i_gid_needs_update()
1540 struct inode *inode) in i_gid_update() argument
1543 inode->i_gid = from_vfsgid(idmap, i_user_ns(inode), in i_gid_update()
1555 static inline void inode_fsuid_set(struct inode *inode, in inode_fsuid_set() argument
1558 inode->i_uid = mapped_fsuid(idmap, i_user_ns(inode)); in inode_fsuid_set()
1569 static inline void inode_fsgid_set(struct inode *inode, in inode_fsgid_set() argument
1572 inode->i_gid = mapped_fsgid(idmap, i_user_ns(inode)); in inode_fsgid_set()
1603 struct timespec64 current_time(struct inode *inode);
1604 struct timespec64 inode_set_ctime_current(struct inode *inode);
1606 static inline time64_t inode_get_atime_sec(const struct inode *inode) in inode_get_atime_sec() argument
1608 return inode->i_atime_sec; in inode_get_atime_sec()
1611 static inline long inode_get_atime_nsec(const struct inode *inode) in inode_get_atime_nsec() argument
1613 return inode->i_atime_nsec; in inode_get_atime_nsec()
1616 static inline struct timespec64 inode_get_atime(const struct inode *inode) in inode_get_atime() argument
1618 struct timespec64 ts = { .tv_sec = inode_get_atime_sec(inode), in inode_get_atime()
1619 .tv_nsec = inode_get_atime_nsec(inode) }; in inode_get_atime()
1624 static inline struct timespec64 inode_set_atime_to_ts(struct inode *inode, in inode_set_atime_to_ts() argument
1627 inode->i_atime_sec = ts.tv_sec; in inode_set_atime_to_ts()
1628 inode->i_atime_nsec = ts.tv_nsec; in inode_set_atime_to_ts()
1632 static inline struct timespec64 inode_set_atime(struct inode *inode, in inode_set_atime() argument
1638 return inode_set_atime_to_ts(inode, ts); in inode_set_atime()
1641 static inline time64_t inode_get_mtime_sec(const struct inode *inode) in inode_get_mtime_sec() argument
1643 return inode->i_mtime_sec; in inode_get_mtime_sec()
1646 static inline long inode_get_mtime_nsec(const struct inode *inode) in inode_get_mtime_nsec() argument
1648 return inode->i_mtime_nsec; in inode_get_mtime_nsec()
1651 static inline struct timespec64 inode_get_mtime(const struct inode *inode) in inode_get_mtime() argument
1653 struct timespec64 ts = { .tv_sec = inode_get_mtime_sec(inode), in inode_get_mtime()
1654 .tv_nsec = inode_get_mtime_nsec(inode) }; in inode_get_mtime()
1658 static inline struct timespec64 inode_set_mtime_to_ts(struct inode *inode, in inode_set_mtime_to_ts() argument
1661 inode->i_mtime_sec = ts.tv_sec; in inode_set_mtime_to_ts()
1662 inode->i_mtime_nsec = ts.tv_nsec; in inode_set_mtime_to_ts()
1666 static inline struct timespec64 inode_set_mtime(struct inode *inode, in inode_set_mtime() argument
1671 return inode_set_mtime_to_ts(inode, ts); in inode_set_mtime()
1674 static inline time64_t inode_get_ctime_sec(const struct inode *inode) in inode_get_ctime_sec() argument
1676 return inode->i_ctime_sec; in inode_get_ctime_sec()
1679 static inline long inode_get_ctime_nsec(const struct inode *inode) in inode_get_ctime_nsec() argument
1681 return inode->i_ctime_nsec; in inode_get_ctime_nsec()
1684 static inline struct timespec64 inode_get_ctime(const struct inode *inode) in inode_get_ctime() argument
1686 struct timespec64 ts = { .tv_sec = inode_get_ctime_sec(inode), in inode_get_ctime()
1687 .tv_nsec = inode_get_ctime_nsec(inode) }; in inode_get_ctime()
1692 static inline struct timespec64 inode_set_ctime_to_ts(struct inode *inode, in inode_set_ctime_to_ts() argument
1695 inode->i_ctime_sec = ts.tv_sec; in inode_set_ctime_to_ts()
1696 inode->i_ctime_nsec = ts.tv_nsec; in inode_set_ctime_to_ts()
1708 static inline struct timespec64 inode_set_ctime(struct inode *inode, in inode_set_ctime() argument
1714 return inode_set_ctime_to_ts(inode, ts); in inode_set_ctime()
1717 struct timespec64 simple_inode_init_ts(struct inode *inode);
1926 const struct inode *inode);
1931 int vfs_create(struct mnt_idmap *, struct inode *,
1933 int vfs_mkdir(struct mnt_idmap *, struct inode *,
1935 int vfs_mknod(struct mnt_idmap *, struct inode *, struct dentry *,
1937 int vfs_symlink(struct mnt_idmap *, struct inode *,
1939 int vfs_link(struct dentry *, struct mnt_idmap *, struct inode *,
1940 struct dentry *, struct inode **);
1941 int vfs_rmdir(struct mnt_idmap *, struct inode *, struct dentry *);
1942 int vfs_unlink(struct mnt_idmap *, struct inode *, struct dentry *,
1943 struct inode **);
1958 struct inode *old_dir;
1961 struct inode *new_dir;
1963 struct inode **delegated_inode;
1970 struct inode *dir, struct dentry *dentry) in vfs_whiteout()
2003 void inode_init_owner(struct mnt_idmap *idmap, struct inode *inode,
2004 const struct inode *dir, umode_t mode);
2007 const struct inode *dir, umode_t mode);
2009 const struct inode *inode, vfsgid_t vfsgid);
2095 int (*open) (struct inode *, struct file *);
2097 int (*release) (struct inode *, struct file *);
2148 struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int);
2149 const char * (*get_link) (struct dentry *, struct inode *, struct delayed_call *);
2150 int (*permission) (struct mnt_idmap *, struct inode *, int);
2151 struct posix_acl * (*get_inode_acl)(struct inode *, int, bool);
2155 int (*create) (struct mnt_idmap *, struct inode *,struct dentry *,
2157 int (*link) (struct dentry *,struct inode *,struct dentry *);
2158 int (*unlink) (struct inode *,struct dentry *);
2159 int (*symlink) (struct mnt_idmap *, struct inode *,struct dentry *,
2161 int (*mkdir) (struct mnt_idmap *, struct inode *,struct dentry *,
2163 int (*rmdir) (struct inode *,struct dentry *);
2164 int (*mknod) (struct mnt_idmap *, struct inode *,struct dentry *,
2166 int (*rename) (struct mnt_idmap *, struct inode *, struct dentry *,
2167 struct inode *, struct dentry *, unsigned int);
2172 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
2174 int (*update_time)(struct inode *, int);
2175 int (*atomic_open)(struct inode *, struct dentry *,
2178 int (*tmpfile) (struct mnt_idmap *, struct inode *,
2187 struct offset_ctx *(*get_offset_ctx)(struct inode *inode);
2237 struct inode *(*alloc_inode)(struct super_block *sb);
2238 void (*destroy_inode)(struct inode *);
2239 void (*free_inode)(struct inode *);
2241 void (*dirty_inode) (struct inode *, int flags);
2242 int (*write_inode) (struct inode *, struct writeback_control *wbc);
2243 int (*drop_inode) (struct inode *);
2244 void (*evict_inode) (struct inode *);
2262 struct dquot __rcu **(*get_dquots)(struct inode *);
2310 #define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) argument
2313 #define IS_RDONLY(inode) sb_rdonly((inode)->i_sb) argument
2314 #define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \ argument
2315 ((inode)->i_flags & S_SYNC))
2316 #define IS_DIRSYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS|SB_DIRSYNC) || \ argument
2317 ((inode)->i_flags & (S_SYNC|S_DIRSYNC)))
2318 #define IS_MANDLOCK(inode) __IS_FLG(inode, SB_MANDLOCK) argument
2319 #define IS_NOATIME(inode) __IS_FLG(inode, SB_RDONLY|SB_NOATIME) argument
2320 #define IS_I_VERSION(inode) __IS_FLG(inode, SB_I_VERSION) argument
2322 #define IS_NOQUOTA(inode) ((inode)->i_flags & S_NOQUOTA) argument
2323 #define IS_APPEND(inode) ((inode)->i_flags & S_APPEND) argument
2324 #define IS_IMMUTABLE(inode) ((inode)->i_flags & S_IMMUTABLE) argument
2327 #define IS_POSIXACL(inode) __IS_FLG(inode, SB_POSIXACL) argument
2329 #define IS_POSIXACL(inode) 0 argument
2332 #define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD) argument
2333 #define IS_NOCMTIME(inode) ((inode)->i_flags & S_NOCMTIME) argument
2336 #define IS_SWAPFILE(inode) ((inode)->i_flags & S_SWAPFILE) argument
2338 #define IS_SWAPFILE(inode) ((void)(inode), 0U) argument
2341 #define IS_PRIVATE(inode) ((inode)->i_flags & S_PRIVATE) argument
2342 #define IS_IMA(inode) ((inode)->i_flags & S_IMA) argument
2343 #define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) argument
2344 #define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) argument
2345 #define IS_DAX(inode) ((inode)->i_flags & S_DAX) argument
2346 #define IS_ENCRYPTED(inode) ((inode)->i_flags & S_ENCRYPTED) argument
2347 #define IS_CASEFOLDED(inode) ((inode)->i_flags & S_CASEFOLD) argument
2348 #define IS_VERITY(inode) ((inode)->i_flags & S_VERITY) argument
2350 #define IS_WHITEOUT(inode) (S_ISCHR(inode->i_mode) && \ argument
2351 (inode)->i_rdev == WHITEOUT_DEV)
2354 struct inode *inode) in HAS_UNMAPPED_ID() argument
2356 return !vfsuid_valid(i_uid_into_vfsuid(idmap, inode)) || in HAS_UNMAPPED_ID()
2357 !vfsgid_valid(i_gid_into_vfsgid(idmap, inode)); in HAS_UNMAPPED_ID()
2491 extern void __mark_inode_dirty(struct inode *, int);
2492 static inline void mark_inode_dirty(struct inode *inode) in mark_inode_dirty() argument
2494 __mark_inode_dirty(inode, I_DIRTY); in mark_inode_dirty()
2497 static inline void mark_inode_dirty_sync(struct inode *inode) in mark_inode_dirty_sync() argument
2499 __mark_inode_dirty(inode, I_DIRTY_SYNC); in mark_inode_dirty_sync()
2511 static inline bool inode_is_dirtytime_only(struct inode *inode) in inode_is_dirtytime_only() argument
2513 return (inode->i_state & (I_DIRTY_TIME | I_NEW | in inode_is_dirtytime_only()
2517 extern void inc_nlink(struct inode *inode);
2518 extern void drop_nlink(struct inode *inode);
2519 extern void clear_nlink(struct inode *inode);
2520 extern void set_nlink(struct inode *inode, unsigned int nlink);
2522 static inline void inode_inc_link_count(struct inode *inode) in inode_inc_link_count() argument
2524 inc_nlink(inode); in inode_inc_link_count()
2525 mark_inode_dirty(inode); in inode_inc_link_count()
2528 static inline void inode_dec_link_count(struct inode *inode) in inode_dec_link_count() argument
2530 drop_nlink(inode); in inode_dec_link_count()
2531 mark_inode_dirty(inode); in inode_dec_link_count()
2541 extern bool atime_needs_update(const struct path *, struct inode *);
2543 int inode_update_time(struct inode *inode, int flags);
2554 int sync_inode_metadata(struct inode *inode, int wait);
2693 extern void ihold(struct inode * inode);
2694 extern void iput(struct inode *);
2695 int inode_update_timestamps(struct inode *inode, int flags);
2696 int generic_update_time(struct inode *, int);
2773 static inline const struct inode *file_user_inode(struct file *f) in file_user_inode()
2793 int (*open)(struct inode *, struct file *));
2854 extern void init_special_inode(struct inode *, umode_t, dev_t);
2857 extern void make_bad_inode(struct inode *);
2858 extern bool is_bad_inode(struct inode *);
2913 extern int bmap(struct inode *inode, sector_t *block);
2915 static inline int bmap(struct inode *inode, sector_t *block) in bmap() argument
2922 struct iattr *, struct inode **);
2923 int inode_permission(struct mnt_idmap *, struct inode *, int);
2924 int generic_permission(struct mnt_idmap *, struct inode *, int);
2935 int __check_sticky(struct mnt_idmap *idmap, struct inode *dir,
2936 struct inode *inode);
2938 static inline bool execute_ok(struct inode *inode) in execute_ok() argument
2940 return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode); in execute_ok()
2943 static inline bool inode_wrong_type(const struct inode *inode, umode_t mode) in inode_wrong_type() argument
2945 return (inode->i_mode ^ mode) & S_IFMT; in inode_wrong_type()
2991 struct inode *inode = file_inode(iocb->ki_filp); in kiocb_start_write() local
2993 sb_start_write(inode->i_sb); in kiocb_start_write()
2998 __sb_writers_release(inode->i_sb, SB_FREEZE_WRITE); in kiocb_start_write()
3009 struct inode *inode = file_inode(iocb->ki_filp); in kiocb_end_write() local
3014 __sb_writers_acquired(inode->i_sb, SB_FREEZE_WRITE); in kiocb_end_write()
3015 sb_end_write(inode->i_sb); in kiocb_end_write()
3039 static inline int get_write_access(struct inode *inode) in get_write_access() argument
3041 return atomic_inc_unless_negative(&inode->i_writecount) ? 0 : -ETXTBSY; in get_write_access()
3045 struct inode *inode = file_inode(file); in deny_write_access() local
3046 return atomic_dec_unless_positive(&inode->i_writecount) ? 0 : -ETXTBSY; in deny_write_access()
3048 static inline void put_write_access(struct inode * inode) in put_write_access() argument
3050 atomic_dec(&inode->i_writecount); in put_write_access()
3057 static inline bool inode_is_open_for_write(const struct inode *inode) in inode_is_open_for_write() argument
3059 return atomic_read(&inode->i_writecount) > 0; in inode_is_open_for_write()
3063 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
3065 BUG_ON(atomic_dec_return(&inode->i_readcount) < 0); in i_readcount_dec()
3067 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
3069 atomic_inc(&inode->i_readcount); in i_readcount_inc()
3072 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
3076 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
3113 extern int inode_init_always_gfp(struct super_block *, struct inode *, gfp_t);
3114 static inline int inode_init_always(struct super_block *sb, struct inode *inode) in inode_init_always() argument
3116 return inode_init_always_gfp(sb, inode, GFP_NOFS); in inode_init_always()
3119 extern void inode_init_once(struct inode *);
3121 extern struct inode * igrab(struct inode *);
3123 extern int inode_needs_sync(struct inode *inode);
3124 extern int generic_delete_inode(struct inode *inode);
3125 static inline int generic_drop_inode(struct inode *inode) in generic_drop_inode() argument
3127 return !inode->i_nlink || inode_unhashed(inode); in generic_drop_inode()
3129 extern void d_mark_dontcache(struct inode *inode);
3131 extern struct inode *ilookup5_nowait(struct super_block *sb,
3132 unsigned long hashval, int (*test)(struct inode *, void *),
3134 extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
3135 int (*test)(struct inode *, void *), void *data);
3136 extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
3138 extern struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
3139 int (*test)(struct inode *, void *),
3140 int (*set)(struct inode *, void *),
3142 struct inode *iget5_locked(struct super_block *, unsigned long,
3143 int (*test)(struct inode *, void *),
3144 int (*set)(struct inode *, void *), void *);
3145 struct inode *iget5_locked_rcu(struct super_block *, unsigned long,
3146 int (*test)(struct inode *, void *),
3147 int (*set)(struct inode *, void *), void *);
3148 extern struct inode * iget_locked(struct super_block *, unsigned long);
3149 extern struct inode *find_inode_nowait(struct super_block *,
3151 int (*match)(struct inode *,
3154 extern struct inode *find_inode_rcu(struct super_block *, unsigned long,
3155 int (*)(struct inode *, void *), void *);
3156 extern struct inode *find_inode_by_ino_rcu(struct super_block *, unsigned long);
3157 extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *),…
3158 extern int insert_inode_locked(struct inode *);
3160 extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
3162 static inline void lockdep_annotate_inode_mutex_key(struct inode *inode) { }; in lockdep_annotate_inode_mutex_key() argument
3164 extern void unlock_new_inode(struct inode *);
3165 extern void discard_new_inode(struct inode *);
3188 static inline void __iget(struct inode *inode) in __iget() argument
3190 atomic_inc(&inode->i_count); in __iget()
3193 extern void iget_failed(struct inode *);
3194 extern void clear_inode(struct inode *);
3195 extern void __destroy_inode(struct inode *);
3196 extern struct inode *new_inode_pseudo(struct super_block *sb);
3197 extern struct inode *new_inode(struct super_block *sb);
3198 extern void free_inode_nonrcu(struct inode *inode);
3199 extern int setattr_should_drop_suidgid(struct mnt_idmap *, struct inode *);
3203 const struct inode *inode);
3211 extern void __insert_inode_hash(struct inode *, unsigned long hashval);
3212 static inline void insert_inode_hash(struct inode *inode) in insert_inode_hash() argument
3214 __insert_inode_hash(inode, inode->i_ino); in insert_inode_hash()
3217 extern void __remove_inode_hash(struct inode *);
3218 static inline void remove_inode_hash(struct inode *inode) in remove_inode_hash() argument
3220 if (!inode_unhashed(inode) && !hlist_fake(&inode->i_hash)) in remove_inode_hash()
3221 __remove_inode_hash(inode); in remove_inode_hash()
3224 extern void inode_sb_list_add(struct inode *inode);
3225 extern void inode_add_lru(struct inode *inode);
3281 extern int generic_file_open(struct inode * inode, struct file * filp);
3282 extern int nonseekable_open(struct inode * inode, struct file * filp);
3283 extern int stream_open(struct inode * inode, struct file * filp);
3286 typedef void (dio_submit_t)(struct bio *bio, struct inode *inode,
3297 ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
3304 struct inode *inode, in blockdev_direct_IO() argument
3308 return __blockdev_direct_IO(iocb, inode, inode->i_sb->s_bdev, iter, in blockdev_direct_IO()
3313 bool inode_dio_finished(const struct inode *inode);
3314 void inode_dio_wait(struct inode *inode);
3315 void inode_dio_wait_interruptible(struct inode *inode);
3324 static inline void inode_dio_begin(struct inode *inode) in inode_dio_begin() argument
3326 atomic_inc(&inode->i_dio_count); in inode_dio_begin()
3336 static inline void inode_dio_end(struct inode *inode) in inode_dio_end() argument
3338 if (atomic_dec_and_test(&inode->i_dio_count)) in inode_dio_end()
3339 wake_up_var(&inode->i_dio_count); in inode_dio_end()
3342 extern void inode_set_flags(struct inode *inode, unsigned int flags,
3351 extern const char *page_get_link_raw(struct dentry *, struct inode *,
3353 extern const char *page_get_link(struct dentry *, struct inode *,
3356 extern int page_symlink(struct inode *inode, const char *symname, int len);
3359 void generic_fillattr(struct mnt_idmap *, u32, struct inode *, struct kstat *);
3360 void generic_fill_statx_attr(struct inode *inode, struct kstat *stat);
3366 void __inode_add_bytes(struct inode *inode, loff_t bytes);
3367 void inode_add_bytes(struct inode *inode, loff_t bytes);
3368 void __inode_sub_bytes(struct inode *inode, loff_t bytes);
3369 void inode_sub_bytes(struct inode *inode, loff_t bytes);
3370 static inline loff_t __inode_get_bytes(struct inode *inode) in __inode_get_bytes() argument
3372 return (((loff_t)inode->i_blocks) << 9) + inode->i_bytes; in __inode_get_bytes()
3374 loff_t inode_get_bytes(struct inode *inode);
3375 void inode_set_bytes(struct inode *inode, loff_t bytes);
3376 const char *simple_get_link(struct dentry *, struct inode *,
3407 extern int dcache_dir_open(struct inode *, struct file *);
3408 extern int dcache_dir_close(struct inode *, struct file *);
3416 extern int simple_open(struct inode *inode, struct file *file);
3417 extern int simple_link(struct dentry *, struct inode *, struct dentry *);
3418 extern int simple_unlink(struct inode *, struct dentry *);
3419 extern int simple_rmdir(struct inode *, struct dentry *);
3420 void simple_rename_timestamp(struct inode *old_dir, struct dentry *old_dentry,
3421 struct inode *new_dir, struct dentry *new_dentry);
3422 extern int simple_rename_exchange(struct inode *old_dir, struct dentry *old_dentry,
3423 struct inode *new_dir, struct dentry *new_dentry);
3424 extern int simple_rename(struct mnt_idmap *, struct inode *,
3425 struct dentry *, struct inode *, struct dentry *,
3437 extern struct inode *alloc_anon_inode(struct super_block *);
3438 struct inode *anon_inode_make_secure_inode(struct super_block *sb, const char *name,
3439 const struct inode *context_inode);
3443 extern struct dentry *simple_lookup(struct inode *, struct dentry *, unsigned int flags);
3447 extern void make_empty_dir_inode(struct inode *inode);
3448 extern bool is_empty_dir_inode(struct inode *inode);
3469 int simple_offset_rename(struct inode *old_dir, struct dentry *old_dentry,
3470 struct inode *new_dir, struct dentry *new_dentry);
3471 int simple_offset_rename_exchange(struct inode *old_dir,
3473 struct inode *new_dir,
3485 extern int generic_ci_match(const struct inode *parent,
3499 int may_setattr(struct mnt_idmap *idmap, struct inode *inode,
3502 extern int inode_newsize_ok(const struct inode *, loff_t offset);
3503 void setattr_copy(struct mnt_idmap *, struct inode *inode,
3515 struct inode *inode; in vma_is_fsdax() local
3521 inode = file_inode(vma->vm_file); in vma_is_fsdax()
3522 if (S_ISCHR(inode->i_mode)) in vma_is_fsdax()
3605 int simple_transaction_release(struct inode *inode, struct file *file);
3626 static int __fops ## _open(struct inode *inode, struct file *file) \
3629 return simple_attr_open(inode, file, __get, __set, __fmt); \
3652 int simple_attr_open(struct inode *inode, struct file *file,
3655 int simple_attr_release(struct inode *inode, struct file *file);
3679 struct inode *dir, struct inode *inode) in check_sticky() argument
3684 return __check_sticky(idmap, dir, inode); in check_sticky()
3687 static inline void inode_has_no_xattr(struct inode *inode) in inode_has_no_xattr() argument
3689 if (!is_sxid(inode->i_mode) && (inode->i_sb->s_flags & SB_NOSEC)) in inode_has_no_xattr()
3690 inode->i_flags |= S_NOSEC; in inode_has_no_xattr()
3693 static inline bool is_root_inode(struct inode *inode) in is_root_inode() argument
3695 return inode == inode->i_sb->s_root->d_inode; in is_root_inode()
3728 static inline bool dir_relax(struct inode *inode) in dir_relax() argument
3730 inode_unlock(inode); in dir_relax()
3731 inode_lock(inode); in dir_relax()
3732 return !IS_DEADDIR(inode); in dir_relax()
3735 static inline bool dir_relax_shared(struct inode *inode) in dir_relax_shared() argument
3737 inode_unlock_shared(inode); in dir_relax_shared()
3738 inode_lock_shared(inode); in dir_relax_shared()
3739 return !IS_DEADDIR(inode); in dir_relax_shared()
3743 extern void inode_nohighmem(struct inode *inode);