Lines Matching refs:inode

40 void ocfs2_extent_map_init(struct inode *inode)  in ocfs2_extent_map_init()  argument
42 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_init()
69 static int ocfs2_extent_map_lookup(struct inode *inode, unsigned int cpos, in ocfs2_extent_map_lookup() argument
74 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_lookup()
100 void ocfs2_extent_map_trunc(struct inode *inode, unsigned int cpos) in ocfs2_extent_map_trunc() argument
103 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_trunc()
213 void ocfs2_extent_map_insert_rec(struct inode *inode, in ocfs2_extent_map_insert_rec() argument
216 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_extent_map_insert_rec()
222 ins.ei_phys = ocfs2_blocks_to_clusters(inode->i_sb, in ocfs2_extent_map_insert_rec()
274 static int ocfs2_last_eb_is_empty(struct inode *inode, in ocfs2_last_eb_is_empty() argument
283 ret = ocfs2_read_extent_block(INODE_CACHE(inode), last_eb_blk, &eb_bh); in ocfs2_last_eb_is_empty()
293 ocfs2_error(inode->i_sb, in ocfs2_last_eb_is_empty()
295 inode->i_ino, in ocfs2_last_eb_is_empty()
396 static int ocfs2_get_clusters_nocache(struct inode *inode, in ocfs2_get_clusters_nocache() argument
418 ret = ocfs2_find_leaf(INODE_CACHE(inode), el, v_cluster, in ocfs2_get_clusters_nocache()
429 ocfs2_error(inode->i_sb, in ocfs2_get_clusters_nocache()
431 inode->i_ino, in ocfs2_get_clusters_nocache()
446 ret = ocfs2_figure_hole_clusters(INODE_CACHE(inode), in ocfs2_get_clusters_nocache()
464 ocfs2_error(inode->i_sb, in ocfs2_get_clusters_nocache()
466 inode->i_ino, in ocfs2_get_clusters_nocache()
497 ret = ocfs2_last_eb_is_empty(inode, di); in ocfs2_get_clusters_nocache()
530 int ocfs2_xattr_get_clusters(struct inode *inode, u32 v_cluster, in ocfs2_xattr_get_clusters() argument
542 ret = ocfs2_find_leaf(INODE_CACHE(inode), el, v_cluster, in ocfs2_xattr_get_clusters()
553 ocfs2_error(inode->i_sb, in ocfs2_xattr_get_clusters()
555 inode->i_ino, in ocfs2_xattr_get_clusters()
572 ocfs2_error(inode->i_sb, in ocfs2_xattr_get_clusters()
574 inode->i_ino, in ocfs2_xattr_get_clusters()
581 *p_cluster = ocfs2_blocks_to_clusters(inode->i_sb, in ocfs2_xattr_get_clusters()
595 int ocfs2_get_clusters(struct inode *inode, u32 v_cluster, in ocfs2_get_clusters() argument
604 if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { in ocfs2_get_clusters()
610 ret = ocfs2_extent_map_lookup(inode, v_cluster, p_cluster, in ocfs2_get_clusters()
615 ret = ocfs2_read_inode_block(inode, &di_bh); in ocfs2_get_clusters()
621 ret = ocfs2_get_clusters_nocache(inode, di_bh, v_cluster, &hole_len, in ocfs2_get_clusters()
639 ocfs2_relative_extent_offsets(inode->i_sb, v_cluster, &rec, in ocfs2_get_clusters()
643 ocfs2_extent_map_insert_rec(inode, &rec); in ocfs2_get_clusters()
658 int ocfs2_extent_map_get_blocks(struct inode *inode, u64 v_blkno, u64 *p_blkno, in ocfs2_extent_map_get_blocks() argument
662 int bpc = ocfs2_clusters_to_blocks(inode->i_sb, 1); in ocfs2_extent_map_get_blocks()
666 cpos = ocfs2_blocks_to_clusters(inode->i_sb, v_blkno); in ocfs2_extent_map_get_blocks()
668 ret = ocfs2_get_clusters(inode, cpos, &p_cluster, &num_clusters, in ocfs2_extent_map_get_blocks()
679 boff = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster); in ocfs2_extent_map_get_blocks()
686 *ret_count = ocfs2_clusters_to_blocks(inode->i_sb, num_clusters); in ocfs2_extent_map_get_blocks()
700 static int ocfs2_fiemap_inline(struct inode *inode, struct buffer_head *di_bh, in ocfs2_fiemap_inline() argument
709 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_fiemap_inline()
712 if (ocfs2_inode_is_fast_symlink(inode)) in ocfs2_fiemap_inline()
713 id_count = ocfs2_fast_symlink_chars(inode->i_sb); in ocfs2_fiemap_inline()
718 phys = oi->ip_blkno << inode->i_sb->s_blocksize_bits; in ocfs2_fiemap_inline()
719 if (ocfs2_inode_is_fast_symlink(inode)) in ocfs2_fiemap_inline()
734 int ocfs2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, in ocfs2_fiemap() argument
740 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_fiemap()
745 ret = fiemap_prep(inode, fieinfo, map_start, &map_len, 0); in ocfs2_fiemap()
749 ret = ocfs2_inode_lock(inode, &di_bh, 0); in ocfs2_fiemap()
755 down_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_fiemap()
760 if ((OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) || in ocfs2_fiemap()
761 ocfs2_inode_is_fast_symlink(inode)) { in ocfs2_fiemap()
762 ret = ocfs2_fiemap_inline(inode, di_bh, fieinfo, map_start); in ocfs2_fiemap()
767 mapping_end = ocfs2_clusters_for_bytes(inode->i_sb, in ocfs2_fiemap()
773 ret = ocfs2_get_clusters_nocache(inode, di_bh, cpos, in ocfs2_fiemap()
810 up_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_fiemap()
812 ocfs2_inode_unlock(inode, 0); in ocfs2_fiemap()
819 int ocfs2_overwrite_io(struct inode *inode, struct buffer_head *di_bh, in ocfs2_overwrite_io() argument
824 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_overwrite_io()
827 if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { in ocfs2_overwrite_io()
835 mapping_end = ocfs2_clusters_for_bytes(inode->i_sb, in ocfs2_overwrite_io()
839 ret = ocfs2_get_clusters_nocache(inode, di_bh, cpos, in ocfs2_overwrite_io()
864 struct inode *inode = file->f_mapping->host; in ocfs2_seek_data_hole_offset() local
867 u16 cs_bits = OCFS2_SB(inode->i_sb)->s_clustersize_bits; in ocfs2_seek_data_hole_offset()
875 ret = ocfs2_inode_lock(inode, &di_bh, 0); in ocfs2_seek_data_hole_offset()
881 down_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_seek_data_hole_offset()
883 if (*offset >= i_size_read(inode)) { in ocfs2_seek_data_hole_offset()
888 if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { in ocfs2_seek_data_hole_offset()
890 *offset = i_size_read(inode); in ocfs2_seek_data_hole_offset()
896 cend = ocfs2_clusters_for_bytes(inode->i_sb, i_size_read(inode)); in ocfs2_seek_data_hole_offset()
899 ret = ocfs2_get_clusters_nocache(inode, di_bh, cpos, &hole_size, in ocfs2_seek_data_hole_offset()
935 if ((extoff + extlen) > i_size_read(inode)) in ocfs2_seek_data_hole_offset()
936 extlen = i_size_read(inode) - extoff; in ocfs2_seek_data_hole_offset()
949 up_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_seek_data_hole_offset()
951 ocfs2_inode_unlock(inode, 0); in ocfs2_seek_data_hole_offset()
956 int ocfs2_read_virt_blocks(struct inode *inode, u64 v_block, int nr, in ocfs2_read_virt_blocks() argument
966 inode, (unsigned long long)v_block, nr, bhs, flags, in ocfs2_read_virt_blocks()
969 if (((v_block + nr - 1) << inode->i_sb->s_blocksize_bits) >= in ocfs2_read_virt_blocks()
970 i_size_read(inode)) { in ocfs2_read_virt_blocks()
976 down_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_read_virt_blocks()
977 rc = ocfs2_extent_map_get_blocks(inode, v_block + done, in ocfs2_read_virt_blocks()
979 up_read(&OCFS2_I(inode)->ip_alloc_sem); in ocfs2_read_virt_blocks()
989 (unsigned long long)OCFS2_I(inode)->ip_blkno, in ocfs2_read_virt_blocks()
991 inode->i_sb->s_blocksize_bits); in ocfs2_read_virt_blocks()
1010 rc = ocfs2_read_blocks(INODE_CACHE(inode), p_block, count, in ocfs2_read_virt_blocks()