Lines Matching refs:inode
70 typedef int (get_block_t)(struct inode *inode, sector_t iblock,
427 struct inode *host; /* owner: inode, block_device */
453 struct inode * bd_inode; /* will die */
567 #define i_size_ordered_init(inode) seqcount_init(&inode->i_size_seqcount) argument
569 #define i_size_ordered_init(inode) do { } while (0) argument
584 struct inode { struct
682 static inline int inode_unhashed(struct inode *inode) in inode_unhashed() argument
684 return hlist_unhashed(&inode->i_hash); in inode_unhashed()
713 void lock_two_nondirectories(struct inode *, struct inode*);
714 void unlock_two_nondirectories(struct inode *, struct inode*);
726 static inline loff_t i_size_read(const struct inode *inode) in i_size_read() argument
733 seq = read_seqcount_begin(&inode->i_size_seqcount); in i_size_read()
734 i_size = inode->i_size; in i_size_read()
735 } while (read_seqcount_retry(&inode->i_size_seqcount, seq)); in i_size_read()
741 i_size = inode->i_size; in i_size_read()
745 return inode->i_size; in i_size_read()
754 static inline void i_size_write(struct inode *inode, loff_t i_size) in i_size_write() argument
758 write_seqcount_begin(&inode->i_size_seqcount); in i_size_write()
759 inode->i_size = i_size; in i_size_write()
760 write_seqcount_end(&inode->i_size_seqcount); in i_size_write()
764 inode->i_size = i_size; in i_size_write()
767 inode->i_size = i_size; in i_size_write()
776 static inline uid_t i_uid_read(const struct inode *inode) in i_uid_read() argument
778 return from_kuid(&init_user_ns, inode->i_uid); in i_uid_read()
781 static inline gid_t i_gid_read(const struct inode *inode) in i_gid_read() argument
783 return from_kgid(&init_user_ns, inode->i_gid); in i_gid_read()
786 static inline void i_uid_write(struct inode *inode, uid_t uid) in i_uid_write() argument
788 inode->i_uid = make_kuid(&init_user_ns, uid); in i_uid_write()
791 static inline void i_gid_write(struct inode *inode, gid_t gid) in i_gid_write() argument
793 inode->i_gid = make_kgid(&init_user_ns, gid); in i_gid_write()
796 static inline unsigned iminor(const struct inode *inode) in iminor() argument
798 return MINOR(inode->i_rdev); in iminor()
801 static inline unsigned imajor(const struct inode *inode) in imajor() argument
803 return MAJOR(inode->i_rdev); in imajor()
806 extern struct block_device *I_BDEV(struct inode *inode);
845 struct inode *f_inode; /* cached value */
1060 extern int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl);
1061 extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type);
1062 extern void lease_get_mtime(struct inode *, struct timespec *time);
1167 static inline int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl) in locks_lock_inode_wait() argument
1172 static inline int __break_lease(struct inode *inode, unsigned int mode, unsigned int type) in __break_lease() argument
1177 static inline void lease_get_mtime(struct inode *inode, struct timespec *time) in lease_get_mtime() argument
1205 static inline struct inode *file_inode(const struct file *f) in file_inode()
1510 extern bool inode_owner_or_capable(const struct inode *inode);
1515 extern int vfs_create(struct inode *, struct dentry *, umode_t, bool);
1516 extern int vfs_mkdir(struct inode *, struct dentry *, umode_t);
1517 extern int vfs_mknod(struct inode *, struct dentry *, umode_t, dev_t);
1518 extern int vfs_symlink(struct inode *, struct dentry *, const char *);
1519 extern int vfs_link(struct dentry *, struct inode *, struct dentry *, struct inode **);
1520 extern int vfs_rmdir(struct inode *, struct dentry *);
1521 extern int vfs_unlink(struct inode *, struct dentry *, struct inode **);
1522 extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *, struct inod…
1523 extern int vfs_whiteout(struct inode *, struct dentry *);
1533 extern void inode_init_owner(struct inode *inode, const struct inode *dir,
1622 int (*open) (struct inode *, struct file *);
1624 int (*release) (struct inode *, struct file *);
1645 struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int);
1647 int (*permission) (struct inode *, int);
1648 struct posix_acl * (*get_acl)(struct inode *, int);
1651 void (*put_link) (struct inode *, void *);
1653 int (*create) (struct inode *,struct dentry *, umode_t, bool);
1654 int (*link) (struct dentry *,struct inode *,struct dentry *);
1655 int (*unlink) (struct inode *,struct dentry *);
1656 int (*symlink) (struct inode *,struct dentry *,const char *);
1657 int (*mkdir) (struct inode *,struct dentry *,umode_t);
1658 int (*rmdir) (struct inode *,struct dentry *);
1659 int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
1660 int (*rename) (struct inode *, struct dentry *,
1661 struct inode *, struct dentry *);
1662 int (*rename2) (struct inode *, struct dentry *,
1663 struct inode *, struct dentry *, unsigned int);
1670 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
1672 int (*update_time)(struct inode *, struct timespec *, int);
1673 int (*atomic_open)(struct inode *, struct dentry *,
1676 int (*tmpfile) (struct inode *, struct dentry *, umode_t);
1677 int (*set_acl)(struct inode *, struct posix_acl *, int);
1695 struct inode *(*alloc_inode)(struct super_block *sb);
1696 void (*destroy_inode)(struct inode *);
1698 void (*dirty_inode) (struct inode *, int flags);
1699 int (*write_inode) (struct inode *, struct writeback_control *wbc);
1700 int (*drop_inode) (struct inode *);
1701 void (*evict_inode) (struct inode *);
1719 struct dquot **(*get_dquots)(struct inode *);
1763 #define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) argument
1765 #define IS_RDONLY(inode) ((inode)->i_sb->s_flags & MS_RDONLY) argument
1766 #define IS_SYNC(inode) (__IS_FLG(inode, MS_SYNCHRONOUS) || \ argument
1767 ((inode)->i_flags & S_SYNC))
1768 #define IS_DIRSYNC(inode) (__IS_FLG(inode, MS_SYNCHRONOUS|MS_DIRSYNC) || \ argument
1769 ((inode)->i_flags & (S_SYNC|S_DIRSYNC)))
1770 #define IS_MANDLOCK(inode) __IS_FLG(inode, MS_MANDLOCK) argument
1771 #define IS_NOATIME(inode) __IS_FLG(inode, MS_RDONLY|MS_NOATIME) argument
1772 #define IS_I_VERSION(inode) __IS_FLG(inode, MS_I_VERSION) argument
1774 #define IS_NOQUOTA(inode) ((inode)->i_flags & S_NOQUOTA) argument
1775 #define IS_APPEND(inode) ((inode)->i_flags & S_APPEND) argument
1776 #define IS_IMMUTABLE(inode) ((inode)->i_flags & S_IMMUTABLE) argument
1777 #define IS_POSIXACL(inode) __IS_FLG(inode, MS_POSIXACL) argument
1779 #define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD) argument
1780 #define IS_NOCMTIME(inode) ((inode)->i_flags & S_NOCMTIME) argument
1781 #define IS_SWAPFILE(inode) ((inode)->i_flags & S_SWAPFILE) argument
1782 #define IS_PRIVATE(inode) ((inode)->i_flags & S_PRIVATE) argument
1783 #define IS_IMA(inode) ((inode)->i_flags & S_IMA) argument
1784 #define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) argument
1785 #define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) argument
1786 #define IS_DAX(inode) ((inode)->i_flags & S_DAX) argument
1788 #define IS_WHITEOUT(inode) (S_ISCHR(inode->i_mode) && \ argument
1789 (inode)->i_rdev == WHITEOUT_DEV)
1871 extern void __mark_inode_dirty(struct inode *, int);
1872 static inline void mark_inode_dirty(struct inode *inode) in mark_inode_dirty() argument
1874 __mark_inode_dirty(inode, I_DIRTY); in mark_inode_dirty()
1877 static inline void mark_inode_dirty_sync(struct inode *inode) in mark_inode_dirty_sync() argument
1879 __mark_inode_dirty(inode, I_DIRTY_SYNC); in mark_inode_dirty_sync()
1882 extern void inc_nlink(struct inode *inode);
1883 extern void drop_nlink(struct inode *inode);
1884 extern void clear_nlink(struct inode *inode);
1885 extern void set_nlink(struct inode *inode, unsigned int nlink);
1887 static inline void inode_inc_link_count(struct inode *inode) in inode_inc_link_count() argument
1889 inc_nlink(inode); in inode_inc_link_count()
1890 mark_inode_dirty(inode); in inode_inc_link_count()
1893 static inline void inode_dec_link_count(struct inode *inode) in inode_dec_link_count() argument
1895 drop_nlink(inode); in inode_dec_link_count()
1896 mark_inode_dirty(inode); in inode_dec_link_count()
1907 static inline void inode_inc_iversion(struct inode *inode) in inode_inc_iversion() argument
1909 spin_lock(&inode->i_lock); in inode_inc_iversion()
1910 inode->i_version++; in inode_inc_iversion()
1911 spin_unlock(&inode->i_lock); in inode_inc_iversion()
1921 extern bool atime_needs_update(const struct path *, struct inode *);
1929 int sync_inode(struct inode *inode, struct writeback_control *wbc);
1930 int sync_inode_metadata(struct inode *inode, int wait);
2031 extern void ihold(struct inode * inode);
2032 extern void iput(struct inode *);
2033 extern int generic_update_time(struct inode *, struct timespec *, int);
2045 extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t);
2052 static inline int __mandatory_lock(struct inode *ino) in __mandatory_lock()
2062 static inline int mandatory_lock(struct inode *ino) in mandatory_lock()
2074 static inline int locks_verify_truncate(struct inode *inode, in locks_verify_truncate() argument
2078 if (inode->i_flctx && mandatory_lock(inode)) in locks_verify_truncate()
2080 FLOCK_VERIFY_WRITE, inode, filp, in locks_verify_truncate()
2081 size < inode->i_size ? size : inode->i_size, in locks_verify_truncate()
2082 (size < inode->i_size ? inode->i_size - size in locks_verify_truncate()
2083 : size - inode->i_size) in locks_verify_truncate()
2088 static inline int break_lease(struct inode *inode, unsigned int mode) in break_lease() argument
2097 if (inode->i_flctx && !list_empty_careful(&inode->i_flctx->flc_lease)) in break_lease()
2098 return __break_lease(inode, mode, FL_LEASE); in break_lease()
2102 static inline int break_deleg(struct inode *inode, unsigned int mode) in break_deleg() argument
2111 if (inode->i_flctx && !list_empty_careful(&inode->i_flctx->flc_lease)) in break_deleg()
2112 return __break_lease(inode, mode, FL_DELEG); in break_deleg()
2116 static inline int try_break_deleg(struct inode *inode, struct inode **delegated_inode) in try_break_deleg() argument
2120 ret = break_deleg(inode, O_WRONLY|O_NONBLOCK); in try_break_deleg()
2122 *delegated_inode = inode; in try_break_deleg()
2123 ihold(inode); in try_break_deleg()
2128 static inline int break_deleg_wait(struct inode **delegated_inode) in break_deleg_wait()
2138 static inline int break_layout(struct inode *inode, bool wait) in break_layout() argument
2141 if (inode->i_flctx && !list_empty_careful(&inode->i_flctx->flc_lease)) in break_layout()
2142 return __break_lease(inode, in break_layout()
2154 static inline int locks_mandatory_area(int rw, struct inode *inode, in locks_mandatory_area() argument
2161 static inline int __mandatory_lock(struct inode *inode) in __mandatory_lock() argument
2166 static inline int mandatory_lock(struct inode *inode) in mandatory_lock() argument
2176 static inline int locks_verify_truncate(struct inode *inode, struct file *filp, in locks_verify_truncate() argument
2182 static inline int break_lease(struct inode *inode, unsigned int mode) in break_lease() argument
2187 static inline int break_deleg(struct inode *inode, unsigned int mode) in break_deleg() argument
2192 static inline int try_break_deleg(struct inode *inode, struct inode **delegated_inode) in try_break_deleg() argument
2197 static inline int break_deleg_wait(struct inode **delegated_inode) in break_deleg_wait()
2203 static inline int break_layout(struct inode *inode, bool wait) in break_layout() argument
2244 int (*open)(struct inode *, struct file *),
2267 extern void bd_forget(struct inode *inode);
2285 static inline void bd_forget(struct inode *inode) {} in bd_forget() argument
2380 extern void init_special_inode(struct inode *, umode_t, dev_t);
2383 extern void make_bad_inode(struct inode *);
2384 extern int is_bad_inode(struct inode *);
2407 static inline void invalidate_remote_inode(struct inode *inode) in invalidate_remote_inode() argument
2409 if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || in invalidate_remote_inode()
2410 S_ISLNK(inode->i_mode)) in invalidate_remote_inode()
2411 invalidate_mapping_pages(inode->i_mapping, 0, -1); in invalidate_remote_inode()
2416 extern int write_inode_now(struct inode *, int);
2444 extern sector_t bmap(struct inode *, sector_t);
2446 extern int notify_change(struct dentry *, struct iattr *, struct inode **);
2447 extern int inode_permission(struct inode *, int);
2448 extern int __inode_permission(struct inode *, int);
2449 extern int generic_permission(struct inode *, int);
2450 extern int __check_sticky(struct inode *dir, struct inode *inode);
2452 static inline bool execute_ok(struct inode *inode) in execute_ok() argument
2454 return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode); in execute_ok()
2494 static inline int get_write_access(struct inode *inode) in get_write_access() argument
2496 return atomic_inc_unless_negative(&inode->i_writecount) ? 0 : -ETXTBSY; in get_write_access()
2500 struct inode *inode = file_inode(file); in deny_write_access() local
2501 return atomic_dec_unless_positive(&inode->i_writecount) ? 0 : -ETXTBSY; in deny_write_access()
2503 static inline void put_write_access(struct inode * inode) in put_write_access() argument
2505 atomic_dec(&inode->i_writecount); in put_write_access()
2512 static inline bool inode_is_open_for_write(const struct inode *inode) in inode_is_open_for_write() argument
2514 return atomic_read(&inode->i_writecount) > 0; in inode_is_open_for_write()
2518 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
2520 BUG_ON(!atomic_read(&inode->i_readcount)); in i_readcount_dec()
2521 atomic_dec(&inode->i_readcount); in i_readcount_dec()
2523 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
2525 atomic_inc(&inode->i_readcount); in i_readcount_inc()
2528 static inline void i_readcount_dec(struct inode *inode) in i_readcount_dec() argument
2532 static inline void i_readcount_inc(struct inode *inode) in i_readcount_inc() argument
2557 extern int inode_init_always(struct super_block *, struct inode *);
2558 extern void inode_init_once(struct inode *);
2560 extern struct inode * igrab(struct inode *);
2562 extern int inode_needs_sync(struct inode *inode);
2563 extern int generic_delete_inode(struct inode *inode);
2564 static inline int generic_drop_inode(struct inode *inode) in generic_drop_inode() argument
2566 return !inode->i_nlink || inode_unhashed(inode); in generic_drop_inode()
2569 extern struct inode *ilookup5_nowait(struct super_block *sb,
2570 unsigned long hashval, int (*test)(struct inode *, void *),
2572 extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
2573 int (*test)(struct inode *, void *), void *data);
2574 extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
2576 extern struct inode * iget5_locked(struct super_block *, unsigned long, int (*test)(struct inode *,…
2577 extern struct inode * iget_locked(struct super_block *, unsigned long);
2578 extern struct inode *find_inode_nowait(struct super_block *,
2580 int (*match)(struct inode *,
2583 extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *),…
2584 extern int insert_inode_locked(struct inode *);
2586 extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
2588 static inline void lockdep_annotate_inode_mutex_key(struct inode *inode) { }; in lockdep_annotate_inode_mutex_key() argument
2590 extern void unlock_new_inode(struct inode *);
2593 extern void __iget(struct inode * inode);
2594 extern void iget_failed(struct inode *);
2595 extern void clear_inode(struct inode *);
2596 extern void __destroy_inode(struct inode *);
2597 extern struct inode *new_inode_pseudo(struct super_block *sb);
2598 extern struct inode *new_inode(struct super_block *sb);
2599 extern void free_inode_nonrcu(struct inode *inode);
2608 extern void __insert_inode_hash(struct inode *, unsigned long hashval);
2609 static inline void insert_inode_hash(struct inode *inode) in insert_inode_hash() argument
2611 __insert_inode_hash(inode, inode->i_ino); in insert_inode_hash()
2614 extern void __remove_inode_hash(struct inode *);
2615 static inline void remove_inode_hash(struct inode *inode) in remove_inode_hash() argument
2617 if (!inode_unhashed(inode) && !hlist_fake(&inode->i_hash)) in remove_inode_hash()
2618 __remove_inode_hash(inode); in remove_inode_hash()
2621 extern void inode_sb_list_add(struct inode *inode);
2673 extern int generic_file_open(struct inode * inode, struct file * filp);
2674 extern int nonseekable_open(struct inode * inode, struct file * filp);
2677 typedef void (dio_submit_t)(int rw, struct bio *bio, struct inode *inode,
2696 ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
2703 struct inode *inode, in blockdev_direct_IO() argument
2707 return __blockdev_direct_IO(iocb, inode, inode->i_sb->s_bdev, iter, in blockdev_direct_IO()
2713 void inode_dio_wait(struct inode *inode);
2722 static inline void inode_dio_begin(struct inode *inode) in inode_dio_begin() argument
2724 atomic_inc(&inode->i_dio_count); in inode_dio_begin()
2734 static inline void inode_dio_end(struct inode *inode) in inode_dio_end() argument
2736 if (atomic_dec_and_test(&inode->i_dio_count)) in inode_dio_end()
2737 wake_up_bit(&inode->i_state, __I_DIO_WAKEUP); in inode_dio_end()
2740 extern void inode_set_flags(struct inode *inode, unsigned int flags,
2750 extern void page_put_link(struct inode *, void *);
2751 extern int __page_symlink(struct inode *inode, const char *symname, int len,
2753 extern int page_symlink(struct inode *inode, const char *symname, int len);
2755 extern void kfree_put_link(struct inode *, void *);
2756 extern void free_page_put_link(struct inode *, void *);
2758 extern void generic_fillattr(struct inode *, struct kstat *);
2761 void __inode_add_bytes(struct inode *inode, loff_t bytes);
2762 void inode_add_bytes(struct inode *inode, loff_t bytes);
2763 void __inode_sub_bytes(struct inode *inode, loff_t bytes);
2764 void inode_sub_bytes(struct inode *inode, loff_t bytes);
2765 loff_t inode_get_bytes(struct inode *inode);
2766 void inode_set_bytes(struct inode *inode, loff_t bytes);
2779 extern int __generic_block_fiemap(struct inode *inode,
2783 extern int generic_block_fiemap(struct inode *inode,
2798 extern int dcache_dir_open(struct inode *, struct file *);
2799 extern int dcache_dir_close(struct inode *, struct file *);
2805 extern int simple_open(struct inode *inode, struct file *file);
2806 extern int simple_link(struct dentry *, struct inode *, struct dentry *);
2807 extern int simple_unlink(struct inode *, struct dentry *);
2808 extern int simple_rmdir(struct inode *, struct dentry *);
2809 extern int simple_rename(struct inode *, struct dentry *, struct inode *, struct dentry *);
2820 extern struct inode *alloc_anon_inode(struct super_block *);
2824 extern struct dentry *simple_lookup(struct inode *, struct dentry *, unsigned int flags);
2828 extern void make_empty_dir_inode(struct inode *inode);
2829 extern bool is_empty_dir_inode(struct inode *inode);
2854 extern int inode_change_ok(const struct inode *, struct iattr *);
2855 extern int inode_newsize_ok(const struct inode *, loff_t offset);
2856 extern void setattr_copy(struct inode *inode, const struct iattr *attr);
2910 int simple_transaction_release(struct inode *inode, struct file *file);
2931 static int __fops ## _open(struct inode *inode, struct file *file) \
2934 return simple_attr_open(inode, file, __get, __set, __fmt); \
2951 int simple_attr_open(struct inode *inode, struct file *file,
2954 int simple_attr_release(struct inode *inode, struct file *file);
2981 static inline int check_sticky(struct inode *dir, struct inode *inode) in check_sticky() argument
2986 return __check_sticky(dir, inode); in check_sticky()
2989 static inline void inode_has_no_xattr(struct inode *inode) in inode_has_no_xattr() argument
2991 if (!is_sxid(inode->i_mode) && (inode->i_sb->s_flags & MS_NOSEC)) in inode_has_no_xattr()
2992 inode->i_flags |= S_NOSEC; in inode_has_no_xattr()
2995 static inline bool is_root_inode(struct inode *inode) in is_root_inode() argument
2997 return inode == inode->i_sb->s_root->d_inode; in is_root_inode()
3030 static inline bool dir_relax(struct inode *inode) in dir_relax() argument
3032 mutex_unlock(&inode->i_mutex); in dir_relax()
3033 mutex_lock(&inode->i_mutex); in dir_relax()
3034 return !IS_DEADDIR(inode); in dir_relax()