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