return 0;
 }
 
-static int trunc_start(struct inode *inode, u64 oldsize, u64 newsize)
+static int trunc_start(struct inode *inode, u64 newsize)
 {
        struct gfs2_inode *ip = GFS2_I(inode);
        struct gfs2_sbd *sdp = GFS2_SB(inode);
        struct address_space *mapping = inode->i_mapping;
        struct buffer_head *dibh = NULL;
        int journaled = gfs2_is_jdata(ip);
+       u64 oldsize = inode->i_size;
        int error;
 
        if (journaled)
 /**
  * do_shrink - make a file smaller
  * @inode: the inode
- * @oldsize: the current inode size
  * @newsize: the size to make the file
  *
  * Called with an exclusive lock on @inode. The @size must
  * Returns: errno
  */
 
-static int do_shrink(struct inode *inode, u64 oldsize, u64 newsize)
+static int do_shrink(struct inode *inode, u64 newsize)
 {
        struct gfs2_inode *ip = GFS2_I(inode);
        int error;
 
-       error = trunc_start(inode, oldsize, newsize);
+       error = trunc_start(inode, newsize);
        if (error < 0)
                return error;
        if (gfs2_is_stuffed(ip))
 
 void gfs2_trim_blocks(struct inode *inode)
 {
-       u64 size = inode->i_size;
        int ret;
 
-       ret = do_shrink(inode, size, size);
+       ret = do_shrink(inode, inode->i_size);
        WARN_ON(ret != 0);
 }
 
 {
        struct gfs2_inode *ip = GFS2_I(inode);
        int ret;
-       u64 oldsize;
 
        BUG_ON(!S_ISREG(inode->i_mode));
 
        if (ret)
                goto out;
 
-       oldsize = inode->i_size;
-       if (newsize >= oldsize) {
+       if (newsize >= inode->i_size) {
                ret = do_grow(inode, newsize);
                goto out;
        }
 
-       ret = do_shrink(inode, oldsize, newsize);
+       ret = do_shrink(inode, newsize);
 out:
        gfs2_rsqa_delete(ip, NULL);
        return ret;