struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
        struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
        pgoff_t index = pos >> PAGE_SHIFT;
-       uint32_t pageofs = index << PAGE_SHIFT;
        int ret = 0;
 
        jffs2_dbg(1, "%s()\n", __func__);
 
-       if (pageofs > inode->i_size) {
-               /* Make new hole frag from old EOF to new page */
+       if (pos > inode->i_size) {
+               /* Make new hole frag from old EOF to new position */
                struct jffs2_raw_inode ri;
                struct jffs2_full_dnode *fn;
                uint32_t alloc_len;
 
-               jffs2_dbg(1, "Writing new hole frag 0x%x-0x%x between current EOF and new page\n",
-                         (unsigned int)inode->i_size, pageofs);
+               jffs2_dbg(1, "Writing new hole frag 0x%x-0x%x between current EOF and new position\n",
+                         (unsigned int)inode->i_size, (uint32_t)pos);
 
                ret = jffs2_reserve_space(c, sizeof(ri), &alloc_len,
                                          ALLOC_NORMAL, JFFS2_SUMMARY_INODE_SIZE);
                ri.mode = cpu_to_jemode(inode->i_mode);
                ri.uid = cpu_to_je16(i_uid_read(inode));
                ri.gid = cpu_to_je16(i_gid_read(inode));
-               ri.isize = cpu_to_je32(max((uint32_t)inode->i_size, pageofs));
+               ri.isize = cpu_to_je32((uint32_t)pos);
                ri.atime = ri.ctime = ri.mtime = cpu_to_je32(JFFS2_NOW());
                ri.offset = cpu_to_je32(inode->i_size);
-               ri.dsize = cpu_to_je32(pageofs - inode->i_size);
+               ri.dsize = cpu_to_je32((uint32_t)pos - inode->i_size);
                ri.csize = cpu_to_je32(0);
                ri.compr = JFFS2_COMPR_ZERO;
                ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));
                        goto out_err;
                }
                jffs2_complete_reservation(c);
-               inode->i_size = pageofs;
+               inode->i_size = pos;
                mutex_unlock(&f->sem);
        }