Lines Matching refs:inode
69 typedef int (get_block_t)(struct inode *inode, sector_t iblock,
426 struct inode *host; /* owner: inode, block_device */
452 struct inode * bd_inode; /* will die */
566 #define i_size_ordered_init(inode) seqcount_init(&inode->i_size_seqcount) argument
568 #define i_size_ordered_init(inode) do { } while (0) argument
583 struct inode { struct
672 static inline int inode_unhashed(struct inode *inode) in inode_unhashed() argument
674 return hlist_unhashed(&inode->i_hash); in inode_unhashed()
703 void lock_two_nondirectories(struct inode *, struct inode*);
704 void unlock_two_nondirectories(struct inode *, struct inode*);
716 static inline loff_t i_size_read(const struct inode *inode) in i_size_read() argument
723 seq = read_seqcount_begin(&inode->i_size_seqcount); in i_size_read()
724 i_size = inode->i_size; in i_size_read()
725 } while (read_seqcount_retry(&inode->i_size_seqcount, seq)); in i_size_read()
731 i_size = inode->i_size; in i_size_read()
735 return inode->i_size; in i_size_read()
744 static inline void i_size_write(struct inode *inode, loff_t i_size) in i_size_write() argument
748 write_seqcount_begin(&inode->i_size_seqcount); in i_size_write()
749 inode->i_size = i_size; in i_size_write()
750 write_seqcount_end(&inode->i_size_seqcount); in i_size_write()
754 inode->i_size = i_size; in i_size_write()
757 inode->i_size = i_size; in i_size_write()
766 static inline uid_t i_uid_read(const struct inode *inode) in i_uid_read() argument
768 return from_kuid(&init_user_ns, inode->i_uid); in i_uid_read()
771 static inline gid_t i_gid_read(const struct inode *inode) in i_gid_read() argument
773 return from_kgid(&init_user_ns, inode->i_gid); in i_gid_read()
776 static inline void i_uid_write(struct inode *inode, uid_t uid) in i_uid_write() argument
778 inode->i_uid = make_kuid(&init_user_ns, uid); in i_uid_write()
781 static inline void i_gid_write(struct inode *inode, gid_t gid) in i_gid_write() argument
783 inode->i_gid = make_kgid(&init_user_ns, gid); in i_gid_write()
786 static inline unsigned iminor(const struct inode *inode) in iminor() argument
788 return MINOR(inode->i_rdev); in iminor()
791 static inline unsigned imajor(const struct inode *inode) in imajor() argument
793 return MAJOR(inode->i_rdev); in imajor()
796 extern struct block_device *I_BDEV(struct inode *inode);
835 struct inode *f_inode; /* cached value */
1040 extern int posix_lock_inode_wait(struct inode *, struct file_lock *);
1045 extern int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl);
1046 extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type);
1047 extern void lease_get_mtime(struct inode *, struct timespec *time);
1131 static inline int posix_lock_inode_wait(struct inode *inode, in posix_lock_inode_wait() argument
1158 static inline int flock_lock_inode_wait(struct inode *inode, in flock_lock_inode_wait() argument
1164 static inline int __break_lease(struct inode *inode, unsigned int mode, unsigned int type) in __break_lease() argument
1169 static inline void lease_get_mtime(struct inode *inode, struct timespec *time) in lease_get_mtime() argument
1197 static inline struct inode *file_inode(const struct file *f) in file_inode()
1489 extern bool inode_owner_or_capable(const struct inode *inode);
1494 extern int vfs_create(struct inode *, struct dentry *, umode_t, bool);
1495 extern int vfs_mkdir(struct inode *, struct dentry *, umode_t);
1496 extern int vfs_mknod(struct inode *, struct dentry *, umode_t, dev_t);
1497 extern int vfs_symlink(struct inode *, struct dentry *, const char *);
1498 extern int vfs_link(struct dentry *, struct inode *, struct dentry *, struct inode **);
1499 extern int vfs_rmdir(struct inode *, struct dentry *);
1500 extern int vfs_unlink(struct inode *, struct dentry *, struct inode **);
1501 extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *, struct inod…
1502 extern int vfs_whiteout(struct inode *, struct dentry *);
1512 extern void inode_init_owner(struct inode *inode, const struct inode *dir,
1602 int (*open) (struct inode *, struct file *);
1604 int (*release) (struct inode *, struct file *);
1625 struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int);
1627 int (*permission) (struct inode *, int);
1628 struct posix_acl * (*get_acl)(struct inode *, int);
1633 int (*create) (struct inode *,struct dentry *, umode_t, bool);
1634 int (*link) (struct dentry *,struct inode *,struct dentry *);
1635 int (*unlink) (struct inode *,struct dentry *);
1636 int (*symlink) (struct inode *,struct dentry *,const char *);
1637 int (*mkdir) (struct inode *,struct dentry *,umode_t);
1638 int (*rmdir) (struct inode *,struct dentry *);
1639 int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
1640 int (*rename) (struct inode *, struct dentry *,
1641 struct inode *, struct dentry *);
1642 int (*rename2) (struct inode *, struct dentry *,
1643 struct inode *, struct dentry *, unsigned int);
1650 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
1652 int (*update_time)(struct inode *, struct timespec *, int);
1653 int (*atomic_open)(struct inode *, struct dentry *,
1656 int (*tmpfile) (struct inode *, struct dentry *, umode_t);
1657 int (*set_acl)(struct inode *, struct posix_acl *, int);
1677 struct inode *(*alloc_inode)(struct super_block *sb);
1678 void (*destroy_inode)(struct inode *);
1680 void (*dirty_inode) (struct inode *, int flags);
1681 int (*write_inode) (struct inode *, struct writeback_control *wbc);
1682 int (*drop_inode) (struct inode *);
1683 void (*evict_inode) (struct inode *);
1701 struct dquot **(*get_dquots)(struct inode *);
1745 #define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) argument
1747 #define IS_RDONLY(inode) ((inode)->i_sb->s_flags & MS_RDONLY) argument
1748 #define IS_SYNC(inode) (__IS_FLG(inode, MS_SYNCHRONOUS) || \ argument
1749 ((inode)->i_flags & S_SYNC))
1750 #define IS_DIRSYNC(inode) (__IS_FLG(inode, MS_SYNCHRONOUS|MS_DIRSYNC) || \ argument
1751 ((inode)->i_flags & (S_SYNC|S_DIRSYNC)))
1752 #define IS_MANDLOCK(inode) __IS_FLG(inode, MS_MANDLOCK) argument
1753 #define IS_NOATIME(inode) __IS_FLG(inode, MS_RDONLY|MS_NOATIME) argument
1754 #define IS_I_VERSION(inode) __IS_FLG(inode, MS_I_VERSION) argument
1756 #define IS_NOQUOTA(inode) ((inode)->i_flags & S_NOQUOTA) argument
1757 #define IS_APPEND(inode) ((inode)->i_flags & S_APPEND) argument
1758 #define IS_IMMUTABLE(inode) ((inode)->i_flags & S_IMMUTABLE) argument
1759 #define IS_POSIXACL(inode) __IS_FLG(inode, MS_POSIXACL) argument
1761 #define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD) argument
1762 #define IS_NOCMTIME(inode) ((inode)->i_flags & S_NOCMTIME) argument
1763 #define IS_SWAPFILE(inode) ((inode)->i_flags & S_SWAPFILE) argument
1764 #define IS_PRIVATE(inode) ((inode)->i_flags & S_PRIVATE) argument
1765 #define IS_IMA(inode) ((inode)->i_flags & S_IMA) argument
1766 #define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) argument
1767 #define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) argument
1768 #define IS_DAX(inode) ((inode)->i_flags & S_DAX) argument
1770 #define IS_WHITEOUT(inode) (S_ISCHR(inode->i_mode) && \ argument
1771 (inode)->i_rdev == WHITEOUT_DEV)
1847 extern void __mark_inode_dirty(struct inode *, int);
1848 static inline void mark_inode_dirty(struct inode *inode) in mark_inode_dirty() argument
1850 __mark_inode_dirty(inode, I_DIRTY); in mark_inode_dirty()
1853 static inline void mark_inode_dirty_sync(struct inode *inode) in mark_inode_dirty_sync() argument
1855 __mark_inode_dirty(inode, I_DIRTY_SYNC); in mark_inode_dirty_sync()
1858 extern void inc_nlink(struct inode *inode);
1859 extern void drop_nlink(struct inode *inode);
1860 extern void clear_nlink(struct inode *inode);
1861 extern void set_nlink(struct inode *inode, unsigned int nlink);
1863 static inline void inode_inc_link_count(struct inode *inode) in inode_inc_link_count() argument
1865 inc_nlink(inode); in inode_inc_link_count()
1866 mark_inode_dirty(inode); in inode_inc_link_count()
1869 static inline void inode_dec_link_count(struct inode *inode) in inode_dec_link_count() argument
1871 drop_nlink(inode); in inode_dec_link_count()
1872 mark_inode_dirty(inode); in inode_dec_link_count()
1883 static inline void inode_inc_iversion(struct inode *inode) in inode_inc_iversion() argument
1885 spin_lock(&inode->i_lock); in inode_inc_iversion()
1886 inode->i_version++; in inode_inc_iversion()
1887 spin_unlock(&inode->i_lock); in inode_inc_iversion()
1904 int sync_inode(struct inode *inode, struct writeback_control *wbc);
1905 int sync_inode_metadata(struct inode *inode, int wait);
2006 extern void ihold(struct inode * inode);
2007 extern void iput(struct inode *);
2008 extern int generic_update_time(struct inode *, struct timespec *, int);
2020 extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t);
2027 static inline int __mandatory_lock(struct inode *ino) in __mandatory_lock()
2037 static inline int mandatory_lock(struct inode *ino) in mandatory_lock()
2049 static inline int locks_verify_truncate(struct inode *inode, in locks_verify_truncate() argument
2053 if (inode->i_flctx && mandatory_lock(inode)) in locks_verify_truncate()
2055 FLOCK_VERIFY_WRITE, inode, filp, in locks_verify_truncate()
2056 size < inode->i_size ? size : inode->i_size, in locks_verify_truncate()
2057 (size < inode->i_size ? inode->i_size - size in locks_verify_truncate()
2058 : size - inode->i_size) in locks_verify_truncate()
2063 static inline int break_lease(struct inode *inode, unsigned int mode) in break_lease() argument
2072 if (inode->i_flctx && !list_empty_careful(&inode->i_flctx->flc_lease)) in break_lease()
2073 return __break_lease(inode, mode, FL_LEASE); in break_lease()
2077 static inline int break_deleg(struct inode *inode, unsigned int mode) in break_deleg() argument
2086 if (inode->i_flctx && !list_empty_careful(&inode->i_flctx->flc_lease)) in break_deleg()
2087 return __break_lease(inode, mode, FL_DELEG); in break_deleg()
2091 static inline int try_break_deleg(struct inode *inode, struct inode **delegated_inode) in try_break_deleg() argument
2095 ret = break_deleg(inode, O_WRONLY|O_NONBLOCK); in try_break_deleg()
2097 *delegated_inode = inode; in try_break_deleg()
2098 ihold(inode); in try_break_deleg()
2103 static inline int break_deleg_wait(struct inode **delegated_inode) in break_deleg_wait()
2113 static inline int break_layout(struct inode *inode, bool wait) in break_layout() argument
2116 if (inode->i_flctx && !list_empty_careful(&inode->i_flctx->flc_lease)) in break_layout()
2117 return __break_lease(inode, in break_layout()
2129 static inline int locks_mandatory_area(int rw, struct inode *inode, in locks_mandatory_area() argument
2136 static inline int __mandatory_lock(struct inode *inode) in __mandatory_lock() argument
2141 static inline int mandatory_lock(struct inode *inode) in mandatory_lock() argument
2151 static inline int locks_verify_truncate(struct inode *inode, struct file *filp, in locks_verify_truncate() argument
2157 static inline int break_lease(struct inode *inode, unsigned int mode) in break_lease() argument
2162 static inline int break_deleg(struct inode *inode, unsigned int mode) in break_deleg() argument
2167 static inline int try_break_deleg(struct inode *inode, struct inode **delegated_inode) in try_break_deleg() argument
2172 static inline int break_deleg_wait(struct inode **delegated_inode) in break_deleg_wait()
2178 static inline int break_layout(struct inode *inode, bool wait) in break_layout() argument
2219 int (*open)(struct inode *, struct file *),
2242 extern void bd_forget(struct inode *inode);
2254 static inline void bd_forget(struct inode *inode) {} in bd_forget() argument
2346 extern void init_special_inode(struct inode *, umode_t, dev_t);
2349 extern void make_bad_inode(struct inode *);
2350 extern int is_bad_inode(struct inode *);
2373 static inline void invalidate_remote_inode(struct inode *inode) in invalidate_remote_inode() argument
2375 if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || in invalidate_remote_inode()
2376 S_ISLNK(inode->i_mode)) in invalidate_remote_inode()
2377 invalidate_mapping_pages(inode->i_mapping, 0, -1); in invalidate_remote_inode()
2382 extern int write_inode_now(struct inode *, int);
2409 extern sector_t bmap(struct inode *, sector_t);
2411 extern int notify_change(struct dentry *, struct iattr *, struct inode **);
2412 extern int inode_permission(struct inode *, int);
2413 extern int __inode_permission(struct inode *, int);
2414 extern int generic_permission(struct inode *, int);
2415 extern int __check_sticky(struct inode *dir, struct inode *inode);
2417 static inline bool execute_ok(struct inode *inode) in execute_ok() argument
2419 return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode); in execute_ok()
2459 static inline int get_write_access(struct inode *inode) in get_write_access() argument
2461 return atomic_inc_unless_negative(&inode->i_writecount) ? 0 : -ETXTBSY; in get_write_access()
2465 struct inode *inode = file_inode(file); in deny_write_access() local
2466 return atomic_dec_unless_positive(&inode->i_writecount) ? 0 : -ETXTBSY; in deny_write_access()
2468 static inline void put_write_access(struct inode * inode) in put_write_access() argument
2470 atomic_dec(&inode->i_writecount); in put_write_access()
2477 static inline bool inode_is_open_for_write(const struct inode *inode) in inode_is_open_for_write() argument
2479 return atomic_read(&inode->i_writecount) > 0; in inode_is_open_for_write()
2483 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
2485 BUG_ON(!atomic_read(&inode->i_readcount)); in i_readcount_dec()
2486 atomic_dec(&inode->i_readcount); in i_readcount_dec()
2488 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
2490 atomic_inc(&inode->i_readcount); in i_readcount_inc()
2493 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
2497 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
2520 extern int inode_init_always(struct super_block *, struct inode *);
2521 extern void inode_init_once(struct inode *);
2523 extern struct inode * igrab(struct inode *);
2525 extern int inode_needs_sync(struct inode *inode);
2526 extern int generic_delete_inode(struct inode *inode);
2527 static inline int generic_drop_inode(struct inode *inode) in generic_drop_inode() argument
2529 return !inode->i_nlink || inode_unhashed(inode); in generic_drop_inode()
2532 extern struct inode *ilookup5_nowait(struct super_block *sb,
2533 unsigned long hashval, int (*test)(struct inode *, void *),
2535 extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
2536 int (*test)(struct inode *, void *), void *data);
2537 extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
2539 extern struct inode * iget5_locked(struct super_block *, unsigned long, int (*test)(struct inode *,…
2540 extern struct inode * iget_locked(struct super_block *, unsigned long);
2541 extern struct inode *find_inode_nowait(struct super_block *,
2543 int (*match)(struct inode *,
2546 extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *),…
2547 extern int insert_inode_locked(struct inode *);
2549 extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
2551 static inline void lockdep_annotate_inode_mutex_key(struct inode *inode) { }; in lockdep_annotate_inode_mutex_key() argument
2553 extern void unlock_new_inode(struct inode *);
2556 extern void __iget(struct inode * inode);
2557 extern void iget_failed(struct inode *);
2558 extern void clear_inode(struct inode *);
2559 extern void __destroy_inode(struct inode *);
2560 extern struct inode *new_inode_pseudo(struct super_block *sb);
2561 extern struct inode *new_inode(struct super_block *sb);
2562 extern void free_inode_nonrcu(struct inode *inode);
2566 extern void __insert_inode_hash(struct inode *, unsigned long hashval);
2567 static inline void insert_inode_hash(struct inode *inode) in insert_inode_hash() argument
2569 __insert_inode_hash(inode, inode->i_ino); in insert_inode_hash()
2572 extern void __remove_inode_hash(struct inode *);
2573 static inline void remove_inode_hash(struct inode *inode) in remove_inode_hash() argument
2575 if (!inode_unhashed(inode)) in remove_inode_hash()
2576 __remove_inode_hash(inode); in remove_inode_hash()
2579 extern void inode_sb_list_add(struct inode *inode);
2631 extern int generic_file_open(struct inode * inode, struct file * filp);
2632 extern int nonseekable_open(struct inode * inode, struct file * filp);
2634 ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *, loff_t,
2636 int dax_clear_blocks(struct inode *, sector_t block, long size);
2637 int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t);
2638 int dax_truncate_page(struct inode *, loff_t from, get_block_t);
2645 typedef void (dio_submit_t)(int rw, struct bio *bio, struct inode *inode,
2664 ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
2671 struct inode *inode, in blockdev_direct_IO() argument
2675 return __blockdev_direct_IO(iocb, inode, inode->i_sb->s_bdev, iter, in blockdev_direct_IO()
2681 void inode_dio_wait(struct inode *inode);
2690 static inline void inode_dio_begin(struct inode *inode) in inode_dio_begin() argument
2692 atomic_inc(&inode->i_dio_count); in inode_dio_begin()
2702 static inline void inode_dio_end(struct inode *inode) in inode_dio_end() argument
2704 if (atomic_dec_and_test(&inode->i_dio_count)) in inode_dio_end()
2705 wake_up_bit(&inode->i_state, __I_DIO_WAKEUP); in inode_dio_end()
2708 extern void inode_set_flags(struct inode *inode, unsigned int flags,
2719 extern int __page_symlink(struct inode *inode, const char *symname, int len,
2721 extern int page_symlink(struct inode *inode, const char *symname, int len);
2725 extern void generic_fillattr(struct inode *, struct kstat *);
2728 void __inode_add_bytes(struct inode *inode, loff_t bytes);
2729 void inode_add_bytes(struct inode *inode, loff_t bytes);
2730 void __inode_sub_bytes(struct inode *inode, loff_t bytes);
2731 void inode_sub_bytes(struct inode *inode, loff_t bytes);
2732 loff_t inode_get_bytes(struct inode *inode);
2733 void inode_set_bytes(struct inode *inode, loff_t bytes);
2744 extern int __generic_block_fiemap(struct inode *inode,
2748 extern int generic_block_fiemap(struct inode *inode,
2763 extern int dcache_dir_open(struct inode *, struct file *);
2764 extern int dcache_dir_close(struct inode *, struct file *);
2770 extern int simple_open(struct inode *inode, struct file *file);
2771 extern int simple_link(struct dentry *, struct inode *, struct dentry *);
2772 extern int simple_unlink(struct inode *, struct dentry *);
2773 extern int simple_rmdir(struct inode *, struct dentry *);
2774 extern int simple_rename(struct inode *, struct dentry *, struct inode *, struct dentry *);
2785 extern struct inode *alloc_anon_inode(struct super_block *);
2789 extern struct dentry *simple_lookup(struct inode *, struct dentry *, unsigned int flags);
2793 extern void make_empty_dir_inode(struct inode *inode);
2794 extern bool is_empty_dir_inode(struct inode *inode);
2819 extern int inode_change_ok(const struct inode *, struct iattr *);
2820 extern int inode_newsize_ok(const struct inode *, loff_t offset);
2821 extern void setattr_copy(struct inode *inode, const struct iattr *attr);
2875 int simple_transaction_release(struct inode *inode, struct file *file);
2896 static int __fops ## _open(struct inode *inode, struct file *file) \
2899 return simple_attr_open(inode, file, __get, __set, __fmt); \
2916 int simple_attr_open(struct inode *inode, struct file *file,
2919 int simple_attr_release(struct inode *inode, struct file *file);
2946 static inline int check_sticky(struct inode *dir, struct inode *inode) in check_sticky() argument
2951 return __check_sticky(dir, inode); in check_sticky()
2954 static inline void inode_has_no_xattr(struct inode *inode) in inode_has_no_xattr() argument
2956 if (!is_sxid(inode->i_mode) && (inode->i_sb->s_flags & MS_NOSEC)) in inode_has_no_xattr()
2957 inode->i_flags |= S_NOSEC; in inode_has_no_xattr()
2960 static inline bool is_root_inode(struct inode *inode) in is_root_inode() argument
2962 return inode == inode->i_sb->s_root->d_inode; in is_root_inode()
2995 static inline bool dir_relax(struct inode *inode) in dir_relax() argument
2997 mutex_unlock(&inode->i_mutex); in dir_relax()
2998 mutex_lock(&inode->i_mutex); in dir_relax()
2999 return !IS_DEADDIR(inode); in dir_relax()