Lines Matching refs:inode

54 void ocfs2_extent_map_init(struct inode *inode)  in ocfs2_extent_map_init()  argument
56 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_init()
83 static int ocfs2_extent_map_lookup(struct inode *inode, unsigned int cpos, in ocfs2_extent_map_lookup() argument
88 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_lookup()
114 void ocfs2_extent_map_trunc(struct inode *inode, unsigned int cpos) in ocfs2_extent_map_trunc() argument
117 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_trunc()
227 void ocfs2_extent_map_insert_rec(struct inode *inode, in ocfs2_extent_map_insert_rec() argument
230 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_insert_rec()
236 ins.ei_phys = ocfs2_blocks_to_clusters(inode->i_sb, in ocfs2_extent_map_insert_rec()
288 static int ocfs2_last_eb_is_empty(struct inode *inode, in ocfs2_last_eb_is_empty() argument
297 ret = ocfs2_read_extent_block(INODE_CACHE(inode), last_eb_blk, &eb_bh); in ocfs2_last_eb_is_empty()
307 ocfs2_error(inode->i_sb, in ocfs2_last_eb_is_empty()
309 inode->i_ino, in ocfs2_last_eb_is_empty()
410 static int ocfs2_get_clusters_nocache(struct inode *inode, in ocfs2_get_clusters_nocache() argument
432 ret = ocfs2_find_leaf(INODE_CACHE(inode), el, v_cluster, in ocfs2_get_clusters_nocache()
443 ocfs2_error(inode->i_sb, in ocfs2_get_clusters_nocache()
445 inode->i_ino, in ocfs2_get_clusters_nocache()
460 ret = ocfs2_figure_hole_clusters(INODE_CACHE(inode), in ocfs2_get_clusters_nocache()
478 ocfs2_error(inode->i_sb, in ocfs2_get_clusters_nocache()
480 inode->i_ino, in ocfs2_get_clusters_nocache()
511 ret = ocfs2_last_eb_is_empty(inode, di); in ocfs2_get_clusters_nocache()
544 int ocfs2_xattr_get_clusters(struct inode *inode, u32 v_cluster, in ocfs2_xattr_get_clusters() argument
556 ret = ocfs2_find_leaf(INODE_CACHE(inode), el, v_cluster, in ocfs2_xattr_get_clusters()
567 ocfs2_error(inode->i_sb, in ocfs2_xattr_get_clusters()
569 inode->i_ino, in ocfs2_xattr_get_clusters()
586 ocfs2_error(inode->i_sb, in ocfs2_xattr_get_clusters()
588 inode->i_ino, in ocfs2_xattr_get_clusters()
595 *p_cluster = ocfs2_blocks_to_clusters(inode->i_sb, in ocfs2_xattr_get_clusters()
610 int ocfs2_get_clusters(struct inode *inode, u32 v_cluster, in ocfs2_get_clusters() argument
619 if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { in ocfs2_get_clusters()
625 ret = ocfs2_extent_map_lookup(inode, v_cluster, p_cluster, in ocfs2_get_clusters()
630 ret = ocfs2_read_inode_block(inode, &di_bh); in ocfs2_get_clusters()
636 ret = ocfs2_get_clusters_nocache(inode, di_bh, v_cluster, &hole_len, in ocfs2_get_clusters()
654 ocfs2_relative_extent_offsets(inode->i_sb, v_cluster, &rec, in ocfs2_get_clusters()
658 ocfs2_extent_map_insert_rec(inode, &rec); in ocfs2_get_clusters()
673 int ocfs2_extent_map_get_blocks(struct inode *inode, u64 v_blkno, u64 *p_blkno, in ocfs2_extent_map_get_blocks() argument
677 int bpc = ocfs2_clusters_to_blocks(inode->i_sb, 1); in ocfs2_extent_map_get_blocks()
681 cpos = ocfs2_blocks_to_clusters(inode->i_sb, v_blkno); in ocfs2_extent_map_get_blocks()
683 ret = ocfs2_get_clusters(inode, cpos, &p_cluster, &num_clusters, in ocfs2_extent_map_get_blocks()
694 boff = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster); in ocfs2_extent_map_get_blocks()
701 *ret_count = ocfs2_clusters_to_blocks(inode->i_sb, num_clusters); in ocfs2_extent_map_get_blocks()
715 static int ocfs2_fiemap_inline(struct inode *inode, struct buffer_head *di_bh, in ocfs2_fiemap_inline() argument
724 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_fiemap_inline()
727 if (ocfs2_inode_is_fast_symlink(inode)) in ocfs2_fiemap_inline()
728 id_count = ocfs2_fast_symlink_chars(inode->i_sb); in ocfs2_fiemap_inline()
733 phys = oi->ip_blkno << inode->i_sb->s_blocksize_bits; in ocfs2_fiemap_inline()
734 if (ocfs2_inode_is_fast_symlink(inode)) in ocfs2_fiemap_inline()
751 int ocfs2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, in ocfs2_fiemap() argument
757 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_fiemap()
766 ret = ocfs2_inode_lock(inode, &di_bh, 0); in ocfs2_fiemap()
772 down_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_fiemap()
777 if ((OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) || in ocfs2_fiemap()
778 ocfs2_inode_is_fast_symlink(inode)) { in ocfs2_fiemap()
779 ret = ocfs2_fiemap_inline(inode, di_bh, fieinfo, map_start); in ocfs2_fiemap()
784 mapping_end = ocfs2_clusters_for_bytes(inode->i_sb, in ocfs2_fiemap()
790 ret = ocfs2_get_clusters_nocache(inode, di_bh, cpos, in ocfs2_fiemap()
827 up_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_fiemap()
829 ocfs2_inode_unlock(inode, 0); in ocfs2_fiemap()
837 struct inode *inode = file->f_mapping->host; in ocfs2_seek_data_hole_offset() local
840 u16 cs_bits = OCFS2_SB(inode->i_sb)->s_clustersize_bits; in ocfs2_seek_data_hole_offset()
848 ret = ocfs2_inode_lock(inode, &di_bh, 0); in ocfs2_seek_data_hole_offset()
854 down_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_seek_data_hole_offset()
856 if (*offset >= i_size_read(inode)) { in ocfs2_seek_data_hole_offset()
861 if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { in ocfs2_seek_data_hole_offset()
863 *offset = i_size_read(inode); in ocfs2_seek_data_hole_offset()
869 cend = ocfs2_clusters_for_bytes(inode->i_sb, i_size_read(inode)); in ocfs2_seek_data_hole_offset()
872 ret = ocfs2_get_clusters_nocache(inode, di_bh, cpos, &hole_size, in ocfs2_seek_data_hole_offset()
908 if ((extoff + extlen) > i_size_read(inode)) in ocfs2_seek_data_hole_offset()
909 extlen = i_size_read(inode) - extoff; in ocfs2_seek_data_hole_offset()
922 up_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_seek_data_hole_offset()
924 ocfs2_inode_unlock(inode, 0); in ocfs2_seek_data_hole_offset()
929 int ocfs2_read_virt_blocks(struct inode *inode, u64 v_block, int nr, in ocfs2_read_virt_blocks() argument
939 inode, (unsigned long long)v_block, nr, bhs, flags, in ocfs2_read_virt_blocks()
942 if (((v_block + nr - 1) << inode->i_sb->s_blocksize_bits) >= in ocfs2_read_virt_blocks()
943 i_size_read(inode)) { in ocfs2_read_virt_blocks()
949 down_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_read_virt_blocks()
950 rc = ocfs2_extent_map_get_blocks(inode, v_block + done, in ocfs2_read_virt_blocks()
952 up_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_read_virt_blocks()
962 (unsigned long long)OCFS2_I(inode)->ip_blkno, in ocfs2_read_virt_blocks()
964 inode->i_sb->s_blocksize_bits); in ocfs2_read_virt_blocks()
983 rc = ocfs2_read_blocks(INODE_CACHE(inode), p_block, count, in ocfs2_read_virt_blocks()