Lines Matching refs:ip
41 static void gfs2_page_add_databufs(struct gfs2_inode *ip, struct page *page, in gfs2_page_add_databufs() argument
54 if (gfs2_is_jdata(ip)) in gfs2_page_add_databufs()
56 gfs2_trans_add_data(ip->i_gl, bh); in gfs2_page_add_databufs()
101 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_writepage_common() local
107 if (gfs2_assert_withdraw(sdp, gfs2_glock_is_held_excl(ip->i_gl))) in gfs2_writepage_common()
157 struct gfs2_inode *ip = GFS2_I(inode); in __gfs2_jdata_writepage() local
166 gfs2_page_add_databufs(ip, page, 0, sdp->sd_vfs->s_blocksize-1); in __gfs2_jdata_writepage()
428 struct gfs2_inode *ip = GFS2_I(mapping->host); in gfs2_jdata_writepages() local
434 gfs2_log_flush(sdp, ip->i_gl, NORMAL_FLUSH); in gfs2_jdata_writepages()
448 static int stuffed_readpage(struct gfs2_inode *ip, struct page *page) in stuffed_readpage() argument
451 u64 dsize = i_size_read(&ip->i_inode); in stuffed_readpage()
466 error = gfs2_meta_inode_buffer(ip, &dibh); in stuffed_readpage()
497 struct gfs2_inode *ip = GFS2_I(page->mapping->host); in __gfs2_readpage() local
501 if (gfs2_is_stuffed(ip)) { in __gfs2_readpage()
502 error = stuffed_readpage(ip, page); in __gfs2_readpage()
527 struct gfs2_inode *ip = GFS2_I(mapping->host); in gfs2_readpage() local
532 gfs2_holder_init(ip->i_gl, LM_ST_SHARED, 0, &gh); in gfs2_readpage()
559 int gfs2_internal_read(struct gfs2_inode *ip, char *buf, loff_t *pos, in gfs2_internal_read() argument
562 struct address_space *mapping = ip->i_inode.i_mapping; in gfs2_internal_read()
607 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_readpages() local
612 gfs2_holder_init(ip->i_gl, LM_ST_SHARED, 0, &gh); in gfs2_readpages()
616 if (!gfs2_is_stuffed(ip)) in gfs2_readpages()
643 struct gfs2_inode *ip = GFS2_I(mapping->host); in gfs2_write_begin() local
654 gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &ip->i_gh); in gfs2_write_begin()
655 error = gfs2_glock_nq(&ip->i_gh); in gfs2_write_begin()
658 if (&ip->i_inode == sdp->sd_rindex) { in gfs2_write_begin()
662 gfs2_glock_dq(&ip->i_gh); in gfs2_write_begin()
667 alloc_required = gfs2_write_alloc_required(ip, pos, len); in gfs2_write_begin()
669 if (alloc_required || gfs2_is_jdata(ip)) in gfs2_write_begin()
670 gfs2_write_calc_reserv(ip, len, &data_blocks, &ind_blocks); in gfs2_write_begin()
676 error = gfs2_quota_lock_check(ip, &ap); in gfs2_write_begin()
680 error = gfs2_inplace_reserve(ip, &ap); in gfs2_write_begin()
686 if (gfs2_is_jdata(ip)) in gfs2_write_begin()
690 if (&ip->i_inode == sdp->sd_rindex) in gfs2_write_begin()
693 rblocks += gfs2_rg_blocks(ip, requested); in gfs2_write_begin()
707 if (gfs2_is_stuffed(ip)) { in gfs2_write_begin()
710 error = gfs2_unstuff_dinode(ip, page); in gfs2_write_begin()
714 error = stuffed_readpage(ip, page); in gfs2_write_begin()
729 if (pos + len > ip->i_inode.i_size) in gfs2_write_begin()
730 gfs2_trim_blocks(&ip->i_inode); in gfs2_write_begin()
737 gfs2_inplace_release(ip); in gfs2_write_begin()
739 gfs2_quota_unlock(ip); in gfs2_write_begin()
742 if (&ip->i_inode == sdp->sd_rindex) { in gfs2_write_begin()
746 gfs2_glock_dq(&ip->i_gh); in gfs2_write_begin()
748 gfs2_holder_uninit(&ip->i_gh); in gfs2_write_begin()
809 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_stuffed_write_end() local
845 gfs2_glock_dq(&ip->i_gh); in gfs2_stuffed_write_end()
846 gfs2_holder_uninit(&ip->i_gh); in gfs2_stuffed_write_end()
872 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_write_end() local
882 BUG_ON(gfs2_glock_is_locked_by_me(ip->i_gl) == NULL); in gfs2_write_end()
884 ret = gfs2_meta_inode_buffer(ip, &dibh); in gfs2_write_end()
891 if (gfs2_is_stuffed(ip)) in gfs2_write_end()
894 if (!gfs2_is_writeback(ip)) in gfs2_write_end()
895 gfs2_page_add_databufs(ip, page, from, to); in gfs2_write_end()
901 gfs2_trans_add_meta(ip->i_gl, dibh); in gfs2_write_end()
912 gfs2_inplace_release(ip); in gfs2_write_end()
913 if (ip->i_res->rs_qa_qd_num) in gfs2_write_end()
914 gfs2_quota_unlock(ip); in gfs2_write_end()
919 gfs2_glock_dq(&ip->i_gh); in gfs2_write_end()
920 gfs2_holder_uninit(&ip->i_gh); in gfs2_write_end()
947 struct gfs2_inode *ip = GFS2_I(mapping->host); in gfs2_bmap() local
952 error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh); in gfs2_bmap()
956 if (!gfs2_is_stuffed(ip)) in gfs2_bmap()
1024 static int gfs2_ok_for_dio(struct gfs2_inode *ip, loff_t offset) in gfs2_ok_for_dio() argument
1031 if (gfs2_is_stuffed(ip)) in gfs2_ok_for_dio()
1034 if (offset >= i_size_read(&ip->i_inode)) in gfs2_ok_for_dio()
1047 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_direct_IO() local
1059 gfs2_holder_init(ip->i_gl, LM_ST_DEFERRED, 0, &gh); in gfs2_direct_IO()
1063 rv = gfs2_ok_for_dio(ip, offset); in gfs2_direct_IO()
1088 if (test_and_clear_bit(GIF_SW_PAGED, &ip->i_flags)) in gfs2_direct_IO()
1089 unmap_shared_mapping_range(ip->i_inode.i_mapping, offset, len); in gfs2_direct_IO()
1218 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_set_aops() local
1220 if (gfs2_is_writeback(ip)) in gfs2_set_aops()
1222 else if (gfs2_is_ordered(ip)) in gfs2_set_aops()
1224 else if (gfs2_is_jdata(ip)) in gfs2_set_aops()