| /linux/fs/coda/ |
| H A D | cnode.c | 26 static void coda_fill_inode(struct inode *inode, struct coda_vattr *attr) in coda_fill_inode() argument 28 coda_vattr_to_iattr(inode, attr); in coda_fill_inode() 30 if (S_ISREG(inode->i_mode)) { in coda_fill_inode() 31 inode->i_op = &coda_file_inode_operations; in coda_fill_inode() 32 inode->i_fop = &coda_file_operations; in coda_fill_inode() 33 } else if (S_ISDIR(inode->i_mode)) { in coda_fill_inode() 34 inode->i_op = &coda_dir_inode_operations; in coda_fill_inode() 35 inode->i_fop = &coda_dir_operations; in coda_fill_inode() 36 } else if (S_ISLNK(inode->i_mode)) { in coda_fill_inode() 37 inode->i_op = &coda_symlink_inode_operations; in coda_fill_inode() [all …]
|
| /linux/fs/ext4/ |
| H A D | inode.c | 56 struct inode *inode, 60 static __u32 ext4_inode_csum(struct inode *inode, struct ext4_inode *raw, in ext4_inode_csum() argument 74 if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE) { in ext4_inode_csum() 84 EXT4_INODE_SIZE(inode->i_sb) - offset); in ext4_inode_csum() 90 static int ext4_inode_csum_verify(struct inode *inode, struct ext4_inode *raw, in ext4_inode_csum_verify() argument 95 if (EXT4_SB(inode->i_sb)->s_es->s_creator_os != in ext4_inode_csum_verify() 97 !ext4_has_feature_metadata_csum(inode->i_sb)) in ext4_inode_csum_verify() 101 calculated = ext4_inode_csum(inode, raw, ei); in ext4_inode_csum_verify() 102 if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE && in ext4_inode_csum_verify() 111 void ext4_inode_csum_set(struct inode *inode, struct ext4_inode *raw, in ext4_inode_csum_set() argument [all …]
|
| H A D | inline.c | 25 struct inode *inode); 27 static int ext4_get_inline_size(struct inode *inode) in ext4_get_inline_size() argument 29 if (EXT4_I(inode)->i_inline_off) in ext4_get_inline_size() 30 return EXT4_I(inode)->i_inline_size; in ext4_get_inline_size() 35 static int get_max_inline_xattr_value_size(struct inode *inode, in get_max_inline_xattr_value_size() argument 44 if (!EXT4_INODE_HAS_XATTR_SPACE(inode)) in get_max_inline_xattr_value_size() 47 min_offs = EXT4_SB(inode->i_sb)->s_inode_size - in get_max_inline_xattr_value_size() 49 EXT4_I(inode)->i_extra_isize - in get_max_inline_xattr_value_size() 57 if (!ext4_test_inode_state(inode, EXT4_STATE_XATTR)) in get_max_inline_xattr_value_size() 63 header = IHDR(inode, raw_inode); in get_max_inline_xattr_value_size() [all …]
|
| H A D | xattr.h | 65 #define IHDR(inode, raw_inode) \ argument 69 EXT4_I(inode)->i_extra_isize)) 70 #define ITAIL(inode, raw_inode) \ argument 72 EXT4_SB((inode)->i_sb)->s_inode_size) 107 #define EXT4_INODE_HAS_XATTR_SPACE(inode) \ argument 108 ((EXT4_I(inode)->i_extra_isize != 0) && \ 109 (EXT4_GOOD_OLD_INODE_SIZE + EXT4_I(inode)->i_extra_isize + \ 111 EXT4_INODE_SIZE((inode)->i_sb))) 150 static inline void ext4_write_lock_xattr(struct inode *inode, int *save) in ext4_write_lock_xattr() argument 152 down_write(&EXT4_I(inode)->xattr_sem); in ext4_write_lock_xattr() [all …]
|
| H A D | file.c | 57 struct inode *inode = file_inode(iocb->ki_filp); in ext4_should_use_dio() local 58 u32 dio_align = ext4_dio_alignment(inode); in ext4_should_use_dio() 72 struct inode *inode = file_inode(iocb->ki_filp); in ext4_dio_read_iter() local 75 if (!inode_trylock_shared(inode)) in ext4_dio_read_iter() 78 inode_lock_shared(inode); in ext4_dio_read_iter() 82 inode_unlock_shared(inode); in ext4_dio_read_iter() 97 inode_unlock_shared(inode); in ext4_dio_read_iter() 106 struct inode *inode = file_inode(iocb->ki_filp); in ext4_dax_read_iter() local 110 if (!inode_trylock_shared(inode)) in ext4_dax_read_iter() 113 inode_lock_shared(inode); in ext4_dax_read_iter() [all …]
|
| H A D | migrate.c | 21 static int finish_range(handle_t *handle, struct inode *inode, in finish_range() argument 36 down_write(&EXT4_I(inode)->i_data_sem); in finish_range() 37 path = ext4_find_extent(inode, lb->first_block, NULL, 0); in finish_range() 49 needed = ext4_ext_calc_credits_for_single_extent(inode, in finish_range() 52 retval = ext4_datasem_ensure_credits(handle, inode, needed, needed, 0); in finish_range() 55 path = ext4_ext_insert_extent(handle, inode, path, &newext, 0); in finish_range() 59 up_write((&EXT4_I(inode)->i_data_sem)); in finish_range() 65 static int update_extent_range(handle_t *handle, struct inode *inode, in update_extent_range() argument 83 retval = finish_range(handle, inode, lb); in update_extent_range() 90 static int update_ind_extent_range(handle_t *handle, struct inode *inode, in update_ind_extent_range() argument [all …]
|
| H A D | extents.c | 45 handle_t *handle, struct inode *inode, struct ext4_map_blocks *map, 48 static __le32 ext4_extent_block_csum(struct inode *inode, in ext4_extent_block_csum() argument 51 struct ext4_inode_info *ei = EXT4_I(inode); in ext4_extent_block_csum() 59 static int ext4_extent_block_csum_verify(struct inode *inode, in ext4_extent_block_csum_verify() argument 64 if (!ext4_has_feature_metadata_csum(inode->i_sb)) in ext4_extent_block_csum_verify() 68 if (et->et_checksum != ext4_extent_block_csum(inode, eh)) in ext4_extent_block_csum_verify() 73 static void ext4_extent_block_csum_set(struct inode *inode, in ext4_extent_block_csum_set() argument 78 if (!ext4_has_feature_metadata_csum(inode->i_sb)) in ext4_extent_block_csum_set() 82 et->et_checksum = ext4_extent_block_csum(inode, eh); in ext4_extent_block_csum_set() 86 struct inode *inode, [all …]
|
| H A D | ext4_jbd2.h | 19 #define EXT4_JOURNAL(inode) (EXT4_SB((inode)->i_sb)->s_journal) argument 127 struct inode *inode, 135 int ext4_reserve_inode_write(handle_t *handle, struct inode *inode, 140 int __ext4_mark_inode_dirty(handle_t *handle, struct inode *inode, 143 int ext4_expand_extra_isize(struct inode *inode, 155 int is_metadata, struct inode *inode, 164 handle_t *handle, struct inode *inode, 170 #define ext4_forget(handle, is_metadata, inode, bh, block_nr) \ argument 171 __ext4_forget(__func__, __LINE__, (handle), (is_metadata), (inode), \ 176 #define ext4_handle_dirty_metadata(handle, inode, bh) \ argument [all …]
|
| /linux/fs/nilfs2/ |
| H A D | mdt.h | 26 struct inode *inode; member 54 static inline struct nilfs_mdt_info *NILFS_MDT(const struct inode *inode) in NILFS_MDT() argument 56 return inode->i_private; in NILFS_MDT() 59 static inline int nilfs_is_metadata_file_inode(const struct inode *inode) in nilfs_is_metadata_file_inode() argument 61 return inode->i_private != NULL; in nilfs_is_metadata_file_inode() 67 int nilfs_mdt_get_block(struct inode *, unsigned long, int, 68 void (*init_block)(struct inode *, 71 int nilfs_mdt_find_block(struct inode *inode, unsigned long start, 74 int nilfs_mdt_delete_block(struct inode *, unsigned long); 75 int nilfs_mdt_forget_block(struct inode *, unsigned long); [all …]
|
| /linux/fs/squashfs/ |
| H A D | inode.c | 44 static int squashfs_new_inode(struct super_block *sb, struct inode *inode, in squashfs_new_inode() argument 51 inode->i_ino = le32_to_cpu(sqsh_ino->inode_number); in squashfs_new_inode() 52 if (inode->i_ino == 0) in squashfs_new_inode() 63 i_uid_write(inode, i_uid); in squashfs_new_inode() 64 i_gid_write(inode, i_gid); in squashfs_new_inode() 65 inode_set_mtime(inode, le32_to_cpu(sqsh_ino->mtime), 0); in squashfs_new_inode() 66 inode_set_atime(inode, inode_get_mtime_sec(inode), 0); in squashfs_new_inode() 67 inode_set_ctime(inode, inode_get_mtime_sec(inode), 0); in squashfs_new_inode() 68 inode->i_mode = le16_to_cpu(sqsh_ino->mode); in squashfs_new_inode() 69 inode->i_size = 0; in squashfs_new_inode() [all …]
|
| /linux/include/linux/ |
| H A D | fs.h | 87 typedef int (get_block_t)(struct inode *inode, sector_t iblock, 473 struct inode *host; 596 #define i_size_ordered_init(inode) seqcount_init(&inode->i_size_seqcount) argument 598 #define i_size_ordered_init(inode) do { } while (0) argument 763 struct inode { struct 849 void (*free_inode)(struct inode *); argument 879 static inline enum inode_state_flags_enum inode_state_read_once(struct inode *inode) in inode_state_read_once() argument 881 return READ_ONCE(inode->i_state.__state); in inode_state_read_once() 884 static inline enum inode_state_flags_enum inode_state_read(struct inode *inode) in inode_state_read() argument 886 lockdep_assert_held(&inode->i_lock); in inode_state_read() [all …]
|
| H A D | fscrypt.h | 134 int (*get_context)(struct inode *inode, void *ctx, size_t len); 152 int (*set_context)(struct inode *inode, const void *ctx, size_t len, 169 bool (*empty_dir)(struct inode *inode); 204 int fscrypt_d_revalidate(struct inode *dir, const struct qstr *name, 213 fscrypt_inode_info_addr(const struct inode *inode) in fscrypt_inode_info_addr() argument 215 VFS_WARN_ON_ONCE(inode->i_sb->s_cop->inode_info_offs == 0); in fscrypt_inode_info_addr() 216 return (void *)inode + inode->i_sb->s_cop->inode_info_offs; in fscrypt_inode_info_addr() 227 fscrypt_get_inode_info_raw(const struct inode *inode) in fscrypt_get_inode_info_raw() argument 229 struct fscrypt_inode_info *ci = *fscrypt_inode_info_addr(inode); in fscrypt_get_inode_info_raw() 236 fscrypt_get_inode_info(const struct inode *inode) in fscrypt_get_inode_info() argument [all …]
|
| H A D | iversion.h | 111 inode_set_iversion_raw(struct inode *inode, u64 val) in inode_set_iversion_raw() argument 113 atomic64_set(&inode->i_version, val); in inode_set_iversion_raw() 128 inode_peek_iversion_raw(const struct inode *inode) in inode_peek_iversion_raw() argument 130 return atomic64_read(&inode->i_version); in inode_peek_iversion_raw() 142 inode_set_max_iversion_raw(struct inode *inode, u64 val) in inode_set_max_iversion_raw() argument 144 u64 cur = inode_peek_iversion_raw(inode); in inode_set_max_iversion_raw() 149 } while (!atomic64_try_cmpxchg(&inode->i_version, &cur, val)); in inode_set_max_iversion_raw() 165 inode_set_iversion(struct inode *inode, u64 val) in inode_set_iversion() argument 167 inode_set_iversion_raw(inode, val << I_VERSION_QUERIED_SHIFT); in inode_set_iversion() 187 inode_set_iversion_queried(struct inode *inode, u64 val) in inode_set_iversion_queried() argument [all …]
|
| /linux/fs/btrfs/ |
| H A D | btrfs_inode.h | 333 struct inode vfs_inode; 336 static inline u64 btrfs_get_first_dir_index_to_log(const struct btrfs_inode *inode) in btrfs_get_first_dir_index_to_log() argument 338 return READ_ONCE(inode->first_dir_index_to_log); in btrfs_get_first_dir_index_to_log() 341 static inline void btrfs_set_first_dir_index_to_log(struct btrfs_inode *inode, in btrfs_set_first_dir_index_to_log() argument 344 WRITE_ONCE(inode->first_dir_index_to_log, index); in btrfs_set_first_dir_index_to_log() 350 struct inode *: container_of(_inode, struct btrfs_inode, vfs_inode), \ 351 const struct inode *: (const struct btrfs_inode *)container_of( \ 366 static inline u64 btrfs_ino(const struct btrfs_inode *inode) in btrfs_ino() argument 368 return inode->vfs_inode.i_ino; in btrfs_ino() 371 static inline void btrfs_get_inode_key(const struct btrfs_inode *inode, in btrfs_get_inode_key() argument [all …]
|
| /linux/fs/ |
| H A D | attr.c | 34 const struct inode *inode) in setattr_should_drop_sgid() argument 36 umode_t mode = inode->i_mode; in setattr_should_drop_sgid() 42 if (!in_group_or_capable(idmap, inode, i_gid_into_vfsgid(idmap, inode))) in setattr_should_drop_sgid() 64 struct inode *inode) in setattr_should_drop_suidgid() argument 66 umode_t mode = inode->i_mode; in setattr_should_drop_suidgid() 73 kill |= setattr_should_drop_sgid(idmap, inode); in setattr_should_drop_suidgid() 95 const struct inode *inode, vfsuid_t ia_vfsuid) in chown_ok() argument 97 vfsuid_t vfsuid = i_uid_into_vfsuid(idmap, inode); in chown_ok() 101 if (capable_wrt_inode_uidgid(idmap, inode, CAP_CHOWN)) in chown_ok() 104 ns_capable(inode->i_sb->s_user_ns, CAP_CHOWN)) in chown_ok() [all …]
|
| H A D | fs-writeback.c | 66 static inline struct inode *wb_inode(struct list_head *head) in wb_inode() 68 return list_entry(head, struct inode, i_io_list); in wb_inode() 114 static bool inode_io_list_move_locked(struct inode *inode, in inode_io_list_move_locked() argument 119 assert_spin_locked(&inode->i_lock); in inode_io_list_move_locked() 120 WARN_ON_ONCE(inode_state_read(inode) & I_FREEING); in inode_io_list_move_locked() 122 list_move(&inode->i_io_list, head); in inode_io_list_move_locked() 270 / sizeof(struct inode *)) 275 void __inode_attach_wb(struct inode *inode, struct folio *folio) in __inode_attach_wb() argument 277 struct backing_dev_info *bdi = inode_to_bdi(inode); in __inode_attach_wb() 280 if (inode_cgwb_enabled(inode)) { in __inode_attach_wb() [all …]
|
| /linux/fs/ceph/ |
| H A D | cache.h | 20 void ceph_fscache_register_inode_cookie(struct inode *inode); 23 void ceph_fscache_use_cookie(struct inode *inode, bool will_modify); 24 void ceph_fscache_unuse_cookie(struct inode *inode, bool update); 26 void ceph_fscache_update(struct inode *inode); 27 void ceph_fscache_invalidate(struct inode *inode, bool dio_write); 34 static inline void ceph_fscache_resize(struct inode *inode, loff_t to) in ceph_fscache_resize() argument 36 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_fscache_resize() 40 ceph_fscache_use_cookie(inode, true); in ceph_fscache_resize() 42 ceph_fscache_unuse_cookie(inode, true); in ceph_fscache_resize() 46 static inline int ceph_fscache_unpin_writeback(struct inode *inode, in ceph_fscache_unpin_writeback() argument [all …]
|
| H A D | io.c | 22 static void ceph_block_o_direct(struct ceph_inode_info *ci, struct inode *inode) in ceph_block_o_direct() argument 26 lockdep_assert_held_write(&inode->i_rwsem); in ceph_block_o_direct() 40 inode_dio_wait(inode); in ceph_block_o_direct() 59 int ceph_start_io_read(struct inode *inode) in ceph_start_io_read() argument 61 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_start_io_read() 66 err = down_read_killable(&inode->i_rwsem); in ceph_start_io_read() 77 up_read(&inode->i_rwsem); in ceph_start_io_read() 80 err = down_write_killable(&inode->i_rwsem); in ceph_start_io_read() 84 ceph_block_o_direct(ci, inode); in ceph_start_io_read() 85 downgrade_write(&inode->i_rwsem); in ceph_start_io_read() [all …]
|
| H A D | export.c | 44 static int ceph_encode_snapfh(struct inode *inode, u32 *rawfh, int *max_len, in ceph_encode_snapfh() argument 45 struct inode *parent_inode) in ceph_encode_snapfh() 47 struct ceph_client *cl = ceph_inode_to_client(inode); in ceph_encode_snapfh() 50 u64 snapid = ceph_snap(inode); in ceph_encode_snapfh() 62 struct inode *dir; in ceph_encode_snapfh() 63 struct dentry *dentry = d_find_alias(inode); in ceph_encode_snapfh() 79 if (!S_ISDIR(inode->i_mode)) in ceph_encode_snapfh() 84 sfh->ino = ceph_ino(inode); in ceph_encode_snapfh() 90 doutc(cl, "%p %llx.%llx ret=%d\n", inode, ceph_vinop(inode), ret); in ceph_encode_snapfh() 94 static int ceph_encode_fh(struct inode *inode, u32 *rawfh, int *max_len, in ceph_encode_fh() argument [all …]
|
| H A D | super.h | 531 ceph_inode(const struct inode *inode) in ceph_inode() argument 533 return container_of(inode, struct ceph_inode_info, netfs.inode); in ceph_inode() 537 ceph_inode_to_fs_client(const struct inode *inode) in ceph_inode_to_fs_client() argument 539 return (struct ceph_fs_client *)inode->i_sb->s_fs_info; in ceph_inode_to_fs_client() 555 ceph_inode_to_client(const struct inode *inode) in ceph_inode_to_client() argument 557 return (struct ceph_client *)ceph_inode_to_fs_client(inode)->client; in ceph_inode_to_client() 561 ceph_vino(const struct inode *inode) in ceph_vino() argument 563 return ceph_inode(inode)->i_vino; in ceph_vino() 591 static inline u64 ceph_ino(struct inode *inode) in ceph_ino() argument 593 return ceph_inode(inode)->i_vino.ino; in ceph_ino() [all …]
|
| /linux/fs/netfs/ |
| H A D | locking.c | 27 static int netfs_inode_dio_wait_interruptible(struct inode *inode) in netfs_inode_dio_wait_interruptible() argument 29 if (inode_dio_finished(inode)) in netfs_inode_dio_wait_interruptible() 32 inode_dio_wait_interruptible(inode); in netfs_inode_dio_wait_interruptible() 33 return !inode_dio_finished(inode) ? -ERESTARTSYS : 0; in netfs_inode_dio_wait_interruptible() 42 return netfs_inode_dio_wait_interruptible(&ictx->inode); in netfs_block_o_direct() 61 int netfs_start_io_read(struct inode *inode) in netfs_start_io_read() argument 62 __acquires(inode->i_rwsem) in netfs_start_io_read() 64 struct netfs_inode *ictx = netfs_inode(inode); in netfs_start_io_read() 67 if (down_read_interruptible(&inode->i_rwsem) < 0) in netfs_start_io_read() 71 up_read(&inode->i_rwsem); in netfs_start_io_read() [all …]
|
| /linux/fs/afs/ |
| H A D | dynroot.c | 16 static struct dentry *afs_lookup_atcell(struct inode *dir, struct dentry *dentry, ino_t ino); 21 static int afs_iget5_pseudo_test(struct inode *inode, void *opaque) in afs_iget5_pseudo_test() argument 25 return inode->i_ino == fid->vnode; in afs_iget5_pseudo_test() 31 static int afs_iget5_pseudo_set(struct inode *inode, void *opaque) in afs_iget5_pseudo_set() argument 33 struct afs_super_info *as = AFS_FS_S(inode->i_sb); in afs_iget5_pseudo_set() 34 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_iget5_pseudo_set() 39 inode->i_ino = fid->vnode; in afs_iget5_pseudo_set() 40 inode->i_generation = fid->unique; in afs_iget5_pseudo_set() 47 static struct inode *afs_iget_pseudo_dir(struct super_block *sb, ino_t ino) in afs_iget_pseudo_dir() 50 struct inode *inode; in afs_iget_pseudo_dir() local [all …]
|
| /linux/fs/udf/ |
| H A D | inode.c | 54 static int udf_alloc_i_data(struct inode *inode, size_t size); 55 static int inode_getblk(struct inode *inode, struct udf_map_rq *map); 56 static int udf_insert_aext(struct inode *, struct extent_position, 58 static void udf_split_extents(struct inode *, int *, int, udf_pblk_t, 60 static void udf_prealloc_extents(struct inode *, int, int, 62 static void udf_merge_extents(struct inode *, struct kernel_long_ad *, int *); 63 static int udf_update_extents(struct inode *, struct kernel_long_ad *, int, 65 static int udf_get_block_wb(struct inode *inode, sector_t block, 68 static void __udf_clear_extent_cache(struct inode *inode) in __udf_clear_extent_cache() argument 70 struct udf_inode_info *iinfo = UDF_I(inode); in __udf_clear_extent_cache() [all …]
|
| H A D | truncate.c | 25 static void extent_trunc(struct inode *inode, struct extent_position *epos, in extent_trunc() argument 30 int last_block = (elen + inode->i_sb->s_blocksize - 1) >> in extent_trunc() 31 inode->i_sb->s_blocksize_bits; in extent_trunc() 32 int first_block = (nelen + inode->i_sb->s_blocksize - 1) >> in extent_trunc() 33 inode->i_sb->s_blocksize_bits; in extent_trunc() 37 udf_free_blocks(inode->i_sb, inode, eloc, 0, in extent_trunc() 46 udf_write_aext(inode, epos, &neloc, nelen, 0); in extent_trunc() 49 mark_inode_dirty(inode); in extent_trunc() 52 udf_free_blocks(inode->i_sb, inode, eloc, in extent_trunc() 63 void udf_truncate_tail_extent(struct inode *inode) in udf_truncate_tail_extent() argument [all …]
|
| /linux/fs/overlayfs/ |
| H A D | inode.c | 51 struct inode *winode = NULL; in ovl_setattr() 178 struct inode *inode = d_inode(dentry); in ovl_getattr() local 179 bool is_dir = S_ISDIR(inode->i_mode); in ovl_getattr() 194 generic_fill_statx_attr(inode, stat); in ovl_getattr() 298 vfsuid = make_vfsuid(idmap, i_user_ns(inode), stat->uid); in ovl_getattr() 299 vfsgid = make_vfsgid(idmap, i_user_ns(inode), stat->gid); in ovl_getattr() 307 struct inode *inode, int mask) in ovl_permission() argument 309 struct inode *upperinode = ovl_inode_upper(inode); in ovl_permission() 310 struct inode *realinode; in ovl_permission() 315 realinode = ovl_i_path_real(inode, &realpath); in ovl_permission() [all …]
|