Lines Matching refs:newsize
1375 static int gfs2_journaled_truncate(struct inode *inode, u64 oldsize, u64 newsize) in gfs2_journaled_truncate() argument
1382 while (oldsize != newsize) { in gfs2_journaled_truncate()
1386 chunk = oldsize - newsize; in gfs2_journaled_truncate()
1410 static int trunc_start(struct inode *inode, u64 newsize) in trunc_start() argument
1421 unsigned int offs = newsize & (blocksize - 1); in trunc_start()
1423 error = gfs2_block_zero_range(inode, newsize, in trunc_start()
1443 gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode) + newsize); in trunc_start()
1447 i_size_write(inode, newsize); in trunc_start()
1452 error = gfs2_journaled_truncate(inode, oldsize, newsize); in trunc_start()
1454 truncate_pagecache(inode, newsize); in trunc_start()
2065 static int do_shrink(struct inode *inode, u64 newsize) in do_shrink() argument
2070 error = trunc_start(inode, newsize); in do_shrink()
2076 error = punch_hole(ip, newsize, 0); in do_shrink()
2178 int gfs2_setattr_size(struct inode *inode, u64 newsize) in gfs2_setattr_size() argument
2185 ret = inode_newsize_ok(inode, newsize); in gfs2_setattr_size()
2195 if (newsize >= inode->i_size) { in gfs2_setattr_size()
2196 ret = do_grow(inode, newsize); in gfs2_setattr_size()
2200 ret = do_shrink(inode, newsize); in gfs2_setattr_size()