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()
611 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_readpages() local
616 gfs2_holder_init(ip->i_gl, LM_ST_SHARED, 0, &gh); in gfs2_readpages()
620 if (!gfs2_is_stuffed(ip)) in gfs2_readpages()
647 struct gfs2_inode *ip = GFS2_I(mapping->host); in gfs2_write_begin() local
658 gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &ip->i_gh); in gfs2_write_begin()
659 error = gfs2_glock_nq(&ip->i_gh); in gfs2_write_begin()
662 if (&ip->i_inode == sdp->sd_rindex) { in gfs2_write_begin()
666 gfs2_glock_dq(&ip->i_gh); in gfs2_write_begin()
671 alloc_required = gfs2_write_alloc_required(ip, pos, len); in gfs2_write_begin()
673 if (alloc_required || gfs2_is_jdata(ip)) in gfs2_write_begin()
674 gfs2_write_calc_reserv(ip, len, &data_blocks, &ind_blocks); in gfs2_write_begin()
680 error = gfs2_quota_lock_check(ip, &ap); in gfs2_write_begin()
684 error = gfs2_inplace_reserve(ip, &ap); in gfs2_write_begin()
690 if (gfs2_is_jdata(ip)) in gfs2_write_begin()
694 if (&ip->i_inode == sdp->sd_rindex) in gfs2_write_begin()
697 rblocks += gfs2_rg_blocks(ip, requested); in gfs2_write_begin()
711 if (gfs2_is_stuffed(ip)) { in gfs2_write_begin()
714 error = gfs2_unstuff_dinode(ip, page); in gfs2_write_begin()
718 error = stuffed_readpage(ip, page); in gfs2_write_begin()
733 if (pos + len > ip->i_inode.i_size) in gfs2_write_begin()
734 gfs2_trim_blocks(&ip->i_inode); in gfs2_write_begin()
741 gfs2_inplace_release(ip); in gfs2_write_begin()
743 gfs2_quota_unlock(ip); in gfs2_write_begin()
746 if (&ip->i_inode == sdp->sd_rindex) { in gfs2_write_begin()
750 gfs2_glock_dq(&ip->i_gh); in gfs2_write_begin()
752 gfs2_holder_uninit(&ip->i_gh); in gfs2_write_begin()
813 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_stuffed_write_end() local
849 gfs2_glock_dq(&ip->i_gh); in gfs2_stuffed_write_end()
850 gfs2_holder_uninit(&ip->i_gh); in gfs2_stuffed_write_end()
876 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_write_end() local
886 BUG_ON(gfs2_glock_is_locked_by_me(ip->i_gl) == NULL); in gfs2_write_end()
888 ret = gfs2_meta_inode_buffer(ip, &dibh); in gfs2_write_end()
895 if (gfs2_is_stuffed(ip)) in gfs2_write_end()
898 if (!gfs2_is_writeback(ip)) in gfs2_write_end()
899 gfs2_page_add_databufs(ip, page, from, to); in gfs2_write_end()
905 gfs2_trans_add_meta(ip->i_gl, dibh); in gfs2_write_end()
916 gfs2_inplace_release(ip); in gfs2_write_end()
917 if (ip->i_res->rs_qa_qd_num) in gfs2_write_end()
918 gfs2_quota_unlock(ip); in gfs2_write_end()
923 gfs2_glock_dq(&ip->i_gh); in gfs2_write_end()
924 gfs2_holder_uninit(&ip->i_gh); in gfs2_write_end()
951 struct gfs2_inode *ip = GFS2_I(mapping->host); in gfs2_bmap() local
956 error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh); in gfs2_bmap()
960 if (!gfs2_is_stuffed(ip)) in gfs2_bmap()
1028 static int gfs2_ok_for_dio(struct gfs2_inode *ip, loff_t offset) in gfs2_ok_for_dio() argument
1035 if (gfs2_is_stuffed(ip)) in gfs2_ok_for_dio()
1038 if (offset >= i_size_read(&ip->i_inode)) in gfs2_ok_for_dio()
1051 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_direct_IO() local
1063 gfs2_holder_init(ip->i_gl, LM_ST_DEFERRED, 0, &gh); in gfs2_direct_IO()
1067 rv = gfs2_ok_for_dio(ip, offset); in gfs2_direct_IO()
1092 if (test_and_clear_bit(GIF_SW_PAGED, &ip->i_flags)) in gfs2_direct_IO()
1093 unmap_shared_mapping_range(ip->i_inode.i_mapping, offset, len); in gfs2_direct_IO()
1222 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_set_aops() local
1224 if (gfs2_is_writeback(ip)) in gfs2_set_aops()
1226 else if (gfs2_is_ordered(ip)) in gfs2_set_aops()
1228 else if (gfs2_is_jdata(ip)) in gfs2_set_aops()