The attribute version in fuse_inode should be updated whenever the
attributes might have changed on the server.  In case of cached writes this
is not the case, so updating the attr_version is unnecessary and could
possibly affect performance.
Open code the remaining part of fuse_write_update_size().
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
        if (!copied)
                goto unlock;
 
+       pos += copied;
        if (!PageUptodate(page)) {
                /* Zero any unwritten bytes at the end of the page */
-               size_t endoff = (pos + copied) & ~PAGE_MASK;
+               size_t endoff = pos & ~PAGE_MASK;
                if (endoff)
                        zero_user_segment(page, endoff, PAGE_SIZE);
                SetPageUptodate(page);
        }
 
-       fuse_write_update_size(inode, pos + copied);
+       if (pos > inode->i_size)
+               i_size_write(inode, pos);
+
        set_page_dirty(page);
 
 unlock: