Lines Matching refs:newsize
1009 static int gfs2_journaled_truncate(struct inode *inode, u64 oldsize, u64 newsize) in gfs2_journaled_truncate() argument
1016 while (oldsize != newsize) { in gfs2_journaled_truncate()
1017 chunk = oldsize - newsize; in gfs2_journaled_truncate()
1031 static int trunc_start(struct inode *inode, u64 oldsize, u64 newsize) in trunc_start() argument
1054 gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode) + newsize); in trunc_start()
1056 if (newsize & (u64)(sdp->sd_sb.sb_bsize - 1)) { in trunc_start()
1057 error = gfs2_block_truncate_page(mapping, newsize); in trunc_start()
1064 i_size_write(inode, newsize); in trunc_start()
1069 error = gfs2_journaled_truncate(inode, oldsize, newsize); in trunc_start()
1071 truncate_pagecache(inode, newsize); in trunc_start()
1169 static int do_shrink(struct inode *inode, u64 oldsize, u64 newsize) in do_shrink() argument
1174 error = trunc_start(inode, oldsize, newsize); in do_shrink()
1180 error = trunc_dealloc(ip, newsize); in do_shrink()
1282 int gfs2_setattr_size(struct inode *inode, u64 newsize) in gfs2_setattr_size() argument
1290 ret = inode_newsize_ok(inode, newsize); in gfs2_setattr_size()
1305 if (newsize >= oldsize) { in gfs2_setattr_size()
1306 ret = do_grow(inode, newsize); in gfs2_setattr_size()
1311 ret = do_shrink(inode, oldsize, newsize); in gfs2_setattr_size()