Lines Matching refs:inode

31 int omfs_shrink_inode(struct inode *inode)  in omfs_shrink_inode()  argument
33 struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb); in omfs_shrink_inode()
45 next = inode->i_ino; in omfs_shrink_inode()
49 if (inode->i_size != 0) in omfs_shrink_inode()
52 bh = omfs_bread(inode->i_sb, next); in omfs_shrink_inode()
79 omfs_clear_range(inode->i_sb, start, (int) count); in omfs_shrink_inode()
86 if (last != inode->i_ino) in omfs_shrink_inode()
87 omfs_clear_range(inode->i_sb, last, sbi->s_mirrors); in omfs_shrink_inode()
92 bh = omfs_bread(inode->i_sb, next); in omfs_shrink_inode()
106 static void omfs_truncate(struct inode *inode) in omfs_truncate() argument
108 omfs_shrink_inode(inode); in omfs_truncate()
109 mark_inode_dirty(inode); in omfs_truncate()
116 static int omfs_grow_extent(struct inode *inode, struct omfs_extent *oe, in omfs_grow_extent() argument
121 struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb); in omfs_grow_extent()
148 if (omfs_allocate_block(inode->i_sb, new_block)) { in omfs_grow_extent()
162 ret = omfs_allocate_range(inode->i_sb, 1, sbi->s_clustersize, in omfs_grow_extent()
191 static sector_t find_block(struct inode *inode, struct omfs_extent_entry *ent, in find_block() argument
197 int numblocks = clus_to_blk(OMFS_SB(inode->i_sb), in find_block()
207 return clus_to_blk(OMFS_SB(inode->i_sb), in find_block()
217 static int omfs_get_block(struct inode *inode, sector_t block, in omfs_get_block() argument
228 struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb); in omfs_get_block()
229 int max_blocks = bh_result->b_size >> inode->i_blkbits; in omfs_get_block()
233 bh = omfs_bread(inode->i_sb, inode->i_ino); in omfs_get_block()
239 next = inode->i_ino; in omfs_get_block()
253 offset = find_block(inode, entry, block, extent_count, &remain); in omfs_get_block()
256 map_bh(bh_result, inode->i_sb, offset); in omfs_get_block()
259 bh_result->b_size = (remain << inode->i_blkbits); in omfs_get_block()
266 bh = omfs_bread(inode->i_sb, next); in omfs_get_block()
273 ret = omfs_grow_extent(inode, oe, &new_block); in omfs_get_block()
276 mark_inode_dirty(inode); in omfs_get_block()
277 map_bh(bh_result, inode->i_sb, in omfs_get_block()
305 struct inode *inode = mapping->host; in omfs_write_failed() local
307 if (to > inode->i_size) { in omfs_write_failed()
308 truncate_pagecache(inode, inode->i_size); in omfs_write_failed()
309 omfs_truncate(inode); in omfs_write_failed()
343 struct inode *inode = d_inode(dentry); in omfs_setattr() local
351 attr->ia_size != i_size_read(inode)) { in omfs_setattr()
352 error = inode_newsize_ok(inode, attr->ia_size); in omfs_setattr()
355 truncate_setsize(inode, attr->ia_size); in omfs_setattr()
356 omfs_truncate(inode); in omfs_setattr()
359 setattr_copy(&nop_mnt_idmap, inode, attr); in omfs_setattr()
360 mark_inode_dirty(inode); in omfs_setattr()